Fossil SCM
Merge the latest trunk enhancements into DBP-workflow branch.
Commit
ab188badcd08b8835c21f2b6d463b068387a4a47
Parent
1c7dd7949e43001…
22 files changed
+1
+86
-2
+86
-2
+12
+12
+12
+1
+1
+2
+1
-1
+1
-1
+98
-1
+3
+2
+2
+10
+10
-4
+10
-4
+12
+12
+10
+10
~
src/codecheck1.c
~
src/db.c
~
src/db.c
~
src/foci.c
~
src/main.mk
~
src/main.mk
~
src/makemake.tcl
~
src/makemake.tcl
~
src/moderate.c
~
src/rebuild.c
~
src/rebuild.c
~
src/setup.c
~
src/shun.c
~
src/sqlcmd.c
~
src/sqlcmd.c
~
src/style.c
~
win/Makefile.dmc
~
win/Makefile.dmc
~
win/Makefile.mingw
~
win/Makefile.mingw
~
win/Makefile.msc
~
win/Makefile.msc
+1
| --- src/codecheck1.c | ||
| +++ src/codecheck1.c | ||
| @@ -309,10 +309,11 @@ | ||
| 309 | 309 | struct { |
| 310 | 310 | const char *zFName; /* Name of the function */ |
| 311 | 311 | int iFmtArg; /* Index of format argument. Leftmost is 1. */ |
| 312 | 312 | unsigned fmtFlags; /* Processing flags */ |
| 313 | 313 | } aFmtFunc[] = { |
| 314 | + { "admin_log", 1, 0 }, | |
| 314 | 315 | { "blob_append_sql", 2, FMT_NO_S }, |
| 315 | 316 | { "blob_appendf", 2, 0 }, |
| 316 | 317 | { "cgi_panic", 1, 0 }, |
| 317 | 318 | { "cgi_redirectf", 1, 0 }, |
| 318 | 319 | { "db_blob", 2, FMT_NO_S }, |
| 319 | 320 |
| --- src/codecheck1.c | |
| +++ src/codecheck1.c | |
| @@ -309,10 +309,11 @@ | |
| 309 | struct { |
| 310 | const char *zFName; /* Name of the function */ |
| 311 | int iFmtArg; /* Index of format argument. Leftmost is 1. */ |
| 312 | unsigned fmtFlags; /* Processing flags */ |
| 313 | } aFmtFunc[] = { |
| 314 | { "blob_append_sql", 2, FMT_NO_S }, |
| 315 | { "blob_appendf", 2, 0 }, |
| 316 | { "cgi_panic", 1, 0 }, |
| 317 | { "cgi_redirectf", 1, 0 }, |
| 318 | { "db_blob", 2, FMT_NO_S }, |
| 319 |
| --- src/codecheck1.c | |
| +++ src/codecheck1.c | |
| @@ -309,10 +309,11 @@ | |
| 309 | struct { |
| 310 | const char *zFName; /* Name of the function */ |
| 311 | int iFmtArg; /* Index of format argument. Leftmost is 1. */ |
| 312 | unsigned fmtFlags; /* Processing flags */ |
| 313 | } aFmtFunc[] = { |
| 314 | { "admin_log", 1, 0 }, |
| 315 | { "blob_append_sql", 2, FMT_NO_S }, |
| 316 | { "blob_appendf", 2, 0 }, |
| 317 | { "cgi_panic", 1, 0 }, |
| 318 | { "cgi_redirectf", 1, 0 }, |
| 319 | { "db_blob", 2, FMT_NO_S }, |
| 320 |
M
src/db.c
+86
-2
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -749,10 +749,39 @@ | ||
| 749 | 749 | if( rc==0 ){ |
| 750 | 750 | sqlite3_result_int64(context, mtime); |
| 751 | 751 | } |
| 752 | 752 | } |
| 753 | 753 | |
| 754 | +void db_sym2rid_function( | |
| 755 | + sqlite3_context *context, | |
| 756 | + int argc, | |
| 757 | + sqlite3_value **argv | |
| 758 | +){ | |
| 759 | + char const * arg; | |
| 760 | + char const * type; | |
| 761 | + if(1 != argc && 2 != argc){ | |
| 762 | + sqlite3_result_error(context, "Expecting one or two arguments", -1); | |
| 763 | + return; | |
| 764 | + } | |
| 765 | + arg = (const char*)sqlite3_value_text(argv[0]); | |
| 766 | + if(!arg){ | |
| 767 | + sqlite3_result_error(context, "Expecting a STRING argument", -1); | |
| 768 | + }else{ | |
| 769 | + int rid; | |
| 770 | + type = (2==argc) ? sqlite3_value_text(argv[1]) : 0; | |
| 771 | + if(!type) type = "ci"; | |
| 772 | + rid = symbolic_name_to_rid( arg, type ); | |
| 773 | + if(rid<0){ | |
| 774 | + sqlite3_result_error(context, "Symbolic name is ambiguous.", -1); | |
| 775 | + }else if(0==rid){ | |
| 776 | + sqlite3_result_null(context); | |
| 777 | + }else{ | |
| 778 | + sqlite3_result_int64(context, rid); | |
| 779 | + } | |
| 780 | + } | |
| 781 | +} | |
| 782 | + | |
| 754 | 783 | |
| 755 | 784 | /* |
| 756 | 785 | ** Open a database file. Return a pointer to the new database |
| 757 | 786 | ** connection. An error results in process abort. |
| 758 | 787 | */ |
| @@ -781,13 +810,22 @@ | ||
| 781 | 810 | sqlite3_create_function( |
| 782 | 811 | db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 783 | 812 | ); |
| 784 | 813 | sqlite3_create_function( |
| 785 | 814 | db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 815 | + ); | |
| 816 | + sqlite3_create_function( | |
| 817 | + db, "symbolic_name_to_rid", 1, SQLITE_UTF8, 0, db_sym2rid_function, | |
| 818 | + 0, 0 | |
| 819 | + ); | |
| 820 | + sqlite3_create_function( | |
| 821 | + db, "symbolic_name_to_rid", 2, SQLITE_UTF8, 0, db_sym2rid_function, | |
| 822 | + 0, 0 | |
| 786 | 823 | ); |
| 787 | 824 | if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0); |
| 788 | 825 | re_add_sql_func(db); |
| 826 | + foci_register(db); | |
| 789 | 827 | sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0); |
| 790 | 828 | return db; |
| 791 | 829 | } |
| 792 | 830 | |
| 793 | 831 | |
| @@ -2248,10 +2286,11 @@ | ||
| 2248 | 2286 | const char *def; /* Default value */ |
| 2249 | 2287 | }; |
| 2250 | 2288 | #endif /* INTERFACE */ |
| 2251 | 2289 | struct stControlSettings const ctrlSettings[] = { |
| 2252 | 2290 | { "access-log", 0, 0, 0, 0, "off" }, |
| 2291 | + { "admin-log", 0, 0, 0, 0, "off" }, | |
| 2253 | 2292 | { "allow-symlinks", 0, 0, 1, 0, "off" }, |
| 2254 | 2293 | { "auto-captcha", "autocaptcha", 0, 0, 0, "on" }, |
| 2255 | 2294 | { "auto-hyperlink", 0, 0, 0, 0, "on", }, |
| 2256 | 2295 | { "auto-shun", 0, 0, 0, 0, "on" }, |
| 2257 | 2296 | { "autosync", 0, 0, 0, 0, "on" }, |
| @@ -2328,10 +2367,13 @@ | ||
| 2328 | 2367 | ** The "unset" command clears a property setting. |
| 2329 | 2368 | ** |
| 2330 | 2369 | ** |
| 2331 | 2370 | ** access-log If enabled, record successful and failed login attempts |
| 2332 | 2371 | ** in the "accesslog" table. Default: off |
| 2372 | +** | |
| 2373 | +** admin-log If enabled, record configuration changes in the | |
| 2374 | +** "admin_log" table. Default: off | |
| 2333 | 2375 | ** |
| 2334 | 2376 | ** allow-symlinks If enabled, don't follow symlinks, and instead treat |
| 2335 | 2377 | ** (versionable) them as symlinks on Unix. Has no effect on Windows |
| 2336 | 2378 | ** (existing links in repository created on Unix become |
| 2337 | 2379 | ** plain-text files with link destination path inside). |
| @@ -2704,21 +2746,63 @@ | ||
| 2704 | 2746 | "%s WITHOUT ROWID;\n" |
| 2705 | 2747 | "INSERT INTO \"%w\" SELECT * FROM \"x_%w\";\n" |
| 2706 | 2748 | "DROP TABLE \"x_%w\";\n", |
| 2707 | 2749 | zTName, zTName, blob_sql_text(&newSql), zTName, zTName, zTName |
| 2708 | 2750 | ); |
| 2709 | - fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", zTName, g.argv[i]); | |
| 2751 | + fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", | |
| 2752 | + zTName, g.argv[i]); | |
| 2710 | 2753 | blob_reset(&newSql); |
| 2711 | 2754 | } |
| 2712 | 2755 | blob_append_sql(&allSql, "COMMIT;\n"); |
| 2713 | 2756 | db_finalize(&q); |
| 2714 | 2757 | if( dryRun ){ |
| 2715 | 2758 | fossil_print("SQL that would have been evaluated:\n"); |
| 2716 | - fossil_print("-------------------------------------------------------------\n"); | |
| 2759 | + fossil_print("%.78c\n", '-'); | |
| 2717 | 2760 | fossil_print("%s", blob_sql_text(&allSql)); |
| 2718 | 2761 | }else{ |
| 2719 | 2762 | db_multi_exec("%s", blob_sql_text(&allSql)); |
| 2720 | 2763 | } |
| 2721 | 2764 | blob_reset(&allSql); |
| 2722 | 2765 | db_close(1); |
| 2723 | 2766 | } |
| 2724 | 2767 | } |
| 2768 | + | |
| 2769 | +/* | |
| 2770 | +** Make sure the adminlog table exists. Create it if it does not | |
| 2771 | +*/ | |
| 2772 | +void create_admin_log_table(void){ | |
| 2773 | + static int once = 0; | |
| 2774 | + if( once ) return; | |
| 2775 | + once = 1; | |
| 2776 | + db_multi_exec( | |
| 2777 | + "CREATE TABLE IF NOT EXISTS \"%w\".admin_log(\n" | |
| 2778 | + " id INTEGER PRIMARY KEY,\n" | |
| 2779 | + " time INTEGER, -- Seconds since 1970\n" | |
| 2780 | + " page TEXT, -- path of page\n" | |
| 2781 | + " who TEXT, -- User who made the change\n " | |
| 2782 | + " what TEXT -- What changed\n" | |
| 2783 | + ")", db_name("repository") | |
| 2784 | + ); | |
| 2785 | +} | |
| 2786 | + | |
| 2787 | +/* | |
| 2788 | +** Write a message into the admin_event table, if admin logging is | |
| 2789 | +** enabled via the admin-log configuration option. | |
| 2790 | +*/ | |
| 2791 | +void admin_log(const char *zFormat, ...){ | |
| 2792 | + Blob what = empty_blob; | |
| 2793 | + va_list ap; | |
| 2794 | + if( !db_get_boolean("admin-log", 0) ){ | |
| 2795 | + /* Potential leak here (on %z params) but | |
| 2796 | + the alternative is to let blob_vappendf() | |
| 2797 | + do it below. */ | |
| 2798 | + return; | |
| 2799 | + } | |
| 2800 | + create_admin_log_table(); | |
| 2801 | + va_start(ap,zFormat); | |
| 2802 | + blob_vappendf( &what, zFormat, ap ); | |
| 2803 | + va_end(ap); | |
| 2804 | + db_multi_exec("INSERT INTO admin_log(time,page,who,what)" | |
| 2805 | + " VALUES(now(), %Q, %Q, %B)", | |
| 2806 | + g.zPath, g.zLogin, &what); | |
| 2807 | + blob_reset(&what); | |
| 2808 | +} | |
| 2725 | 2809 | |
| 2726 | 2810 | ADDED src/foci.c |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -749,10 +749,39 @@ | |
| 749 | if( rc==0 ){ |
| 750 | sqlite3_result_int64(context, mtime); |
| 751 | } |
| 752 | } |
| 753 | |
| 754 | |
| 755 | /* |
| 756 | ** Open a database file. Return a pointer to the new database |
| 757 | ** connection. An error results in process abort. |
| 758 | */ |
| @@ -781,13 +810,22 @@ | |
| 781 | sqlite3_create_function( |
| 782 | db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 783 | ); |
| 784 | sqlite3_create_function( |
| 785 | db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 786 | ); |
| 787 | if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0); |
| 788 | re_add_sql_func(db); |
| 789 | sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0); |
| 790 | return db; |
| 791 | } |
| 792 | |
| 793 | |
| @@ -2248,10 +2286,11 @@ | |
| 2248 | const char *def; /* Default value */ |
| 2249 | }; |
| 2250 | #endif /* INTERFACE */ |
| 2251 | struct stControlSettings const ctrlSettings[] = { |
| 2252 | { "access-log", 0, 0, 0, 0, "off" }, |
| 2253 | { "allow-symlinks", 0, 0, 1, 0, "off" }, |
| 2254 | { "auto-captcha", "autocaptcha", 0, 0, 0, "on" }, |
| 2255 | { "auto-hyperlink", 0, 0, 0, 0, "on", }, |
| 2256 | { "auto-shun", 0, 0, 0, 0, "on" }, |
| 2257 | { "autosync", 0, 0, 0, 0, "on" }, |
| @@ -2328,10 +2367,13 @@ | |
| 2328 | ** The "unset" command clears a property setting. |
| 2329 | ** |
| 2330 | ** |
| 2331 | ** access-log If enabled, record successful and failed login attempts |
| 2332 | ** in the "accesslog" table. Default: off |
| 2333 | ** |
| 2334 | ** allow-symlinks If enabled, don't follow symlinks, and instead treat |
| 2335 | ** (versionable) them as symlinks on Unix. Has no effect on Windows |
| 2336 | ** (existing links in repository created on Unix become |
| 2337 | ** plain-text files with link destination path inside). |
| @@ -2704,21 +2746,63 @@ | |
| 2704 | "%s WITHOUT ROWID;\n" |
| 2705 | "INSERT INTO \"%w\" SELECT * FROM \"x_%w\";\n" |
| 2706 | "DROP TABLE \"x_%w\";\n", |
| 2707 | zTName, zTName, blob_sql_text(&newSql), zTName, zTName, zTName |
| 2708 | ); |
| 2709 | fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", zTName, g.argv[i]); |
| 2710 | blob_reset(&newSql); |
| 2711 | } |
| 2712 | blob_append_sql(&allSql, "COMMIT;\n"); |
| 2713 | db_finalize(&q); |
| 2714 | if( dryRun ){ |
| 2715 | fossil_print("SQL that would have been evaluated:\n"); |
| 2716 | fossil_print("-------------------------------------------------------------\n"); |
| 2717 | fossil_print("%s", blob_sql_text(&allSql)); |
| 2718 | }else{ |
| 2719 | db_multi_exec("%s", blob_sql_text(&allSql)); |
| 2720 | } |
| 2721 | blob_reset(&allSql); |
| 2722 | db_close(1); |
| 2723 | } |
| 2724 | } |
| 2725 | |
| 2726 | DDED src/foci.c |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -749,10 +749,39 @@ | |
| 749 | if( rc==0 ){ |
| 750 | sqlite3_result_int64(context, mtime); |
| 751 | } |
| 752 | } |
| 753 | |
| 754 | void db_sym2rid_function( |
| 755 | sqlite3_context *context, |
| 756 | int argc, |
| 757 | sqlite3_value **argv |
| 758 | ){ |
| 759 | char const * arg; |
| 760 | char const * type; |
| 761 | if(1 != argc && 2 != argc){ |
| 762 | sqlite3_result_error(context, "Expecting one or two arguments", -1); |
| 763 | return; |
| 764 | } |
| 765 | arg = (const char*)sqlite3_value_text(argv[0]); |
| 766 | if(!arg){ |
| 767 | sqlite3_result_error(context, "Expecting a STRING argument", -1); |
| 768 | }else{ |
| 769 | int rid; |
| 770 | type = (2==argc) ? sqlite3_value_text(argv[1]) : 0; |
| 771 | if(!type) type = "ci"; |
| 772 | rid = symbolic_name_to_rid( arg, type ); |
| 773 | if(rid<0){ |
| 774 | sqlite3_result_error(context, "Symbolic name is ambiguous.", -1); |
| 775 | }else if(0==rid){ |
| 776 | sqlite3_result_null(context); |
| 777 | }else{ |
| 778 | sqlite3_result_int64(context, rid); |
| 779 | } |
| 780 | } |
| 781 | } |
| 782 | |
| 783 | |
| 784 | /* |
| 785 | ** Open a database file. Return a pointer to the new database |
| 786 | ** connection. An error results in process abort. |
| 787 | */ |
| @@ -781,13 +810,22 @@ | |
| 810 | sqlite3_create_function( |
| 811 | db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 812 | ); |
| 813 | sqlite3_create_function( |
| 814 | db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 815 | ); |
| 816 | sqlite3_create_function( |
| 817 | db, "symbolic_name_to_rid", 1, SQLITE_UTF8, 0, db_sym2rid_function, |
| 818 | 0, 0 |
| 819 | ); |
| 820 | sqlite3_create_function( |
| 821 | db, "symbolic_name_to_rid", 2, SQLITE_UTF8, 0, db_sym2rid_function, |
| 822 | 0, 0 |
| 823 | ); |
| 824 | if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0); |
| 825 | re_add_sql_func(db); |
| 826 | foci_register(db); |
| 827 | sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0); |
| 828 | return db; |
| 829 | } |
| 830 | |
| 831 | |
| @@ -2248,10 +2286,11 @@ | |
| 2286 | const char *def; /* Default value */ |
| 2287 | }; |
| 2288 | #endif /* INTERFACE */ |
| 2289 | struct stControlSettings const ctrlSettings[] = { |
| 2290 | { "access-log", 0, 0, 0, 0, "off" }, |
| 2291 | { "admin-log", 0, 0, 0, 0, "off" }, |
| 2292 | { "allow-symlinks", 0, 0, 1, 0, "off" }, |
| 2293 | { "auto-captcha", "autocaptcha", 0, 0, 0, "on" }, |
| 2294 | { "auto-hyperlink", 0, 0, 0, 0, "on", }, |
| 2295 | { "auto-shun", 0, 0, 0, 0, "on" }, |
| 2296 | { "autosync", 0, 0, 0, 0, "on" }, |
| @@ -2328,10 +2367,13 @@ | |
| 2367 | ** The "unset" command clears a property setting. |
| 2368 | ** |
| 2369 | ** |
| 2370 | ** access-log If enabled, record successful and failed login attempts |
| 2371 | ** in the "accesslog" table. Default: off |
| 2372 | ** |
| 2373 | ** admin-log If enabled, record configuration changes in the |
| 2374 | ** "admin_log" table. Default: off |
| 2375 | ** |
| 2376 | ** allow-symlinks If enabled, don't follow symlinks, and instead treat |
| 2377 | ** (versionable) them as symlinks on Unix. Has no effect on Windows |
| 2378 | ** (existing links in repository created on Unix become |
| 2379 | ** plain-text files with link destination path inside). |
| @@ -2704,21 +2746,63 @@ | |
| 2746 | "%s WITHOUT ROWID;\n" |
| 2747 | "INSERT INTO \"%w\" SELECT * FROM \"x_%w\";\n" |
| 2748 | "DROP TABLE \"x_%w\";\n", |
| 2749 | zTName, zTName, blob_sql_text(&newSql), zTName, zTName, zTName |
| 2750 | ); |
| 2751 | fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", |
| 2752 | zTName, g.argv[i]); |
| 2753 | blob_reset(&newSql); |
| 2754 | } |
| 2755 | blob_append_sql(&allSql, "COMMIT;\n"); |
| 2756 | db_finalize(&q); |
| 2757 | if( dryRun ){ |
| 2758 | fossil_print("SQL that would have been evaluated:\n"); |
| 2759 | fossil_print("%.78c\n", '-'); |
| 2760 | fossil_print("%s", blob_sql_text(&allSql)); |
| 2761 | }else{ |
| 2762 | db_multi_exec("%s", blob_sql_text(&allSql)); |
| 2763 | } |
| 2764 | blob_reset(&allSql); |
| 2765 | db_close(1); |
| 2766 | } |
| 2767 | } |
| 2768 | |
| 2769 | /* |
| 2770 | ** Make sure the adminlog table exists. Create it if it does not |
| 2771 | */ |
| 2772 | void create_admin_log_table(void){ |
| 2773 | static int once = 0; |
| 2774 | if( once ) return; |
| 2775 | once = 1; |
| 2776 | db_multi_exec( |
| 2777 | "CREATE TABLE IF NOT EXISTS \"%w\".admin_log(\n" |
| 2778 | " id INTEGER PRIMARY KEY,\n" |
| 2779 | " time INTEGER, -- Seconds since 1970\n" |
| 2780 | " page TEXT, -- path of page\n" |
| 2781 | " who TEXT, -- User who made the change\n " |
| 2782 | " what TEXT -- What changed\n" |
| 2783 | ")", db_name("repository") |
| 2784 | ); |
| 2785 | } |
| 2786 | |
| 2787 | /* |
| 2788 | ** Write a message into the admin_event table, if admin logging is |
| 2789 | ** enabled via the admin-log configuration option. |
| 2790 | */ |
| 2791 | void admin_log(const char *zFormat, ...){ |
| 2792 | Blob what = empty_blob; |
| 2793 | va_list ap; |
| 2794 | if( !db_get_boolean("admin-log", 0) ){ |
| 2795 | /* Potential leak here (on %z params) but |
| 2796 | the alternative is to let blob_vappendf() |
| 2797 | do it below. */ |
| 2798 | return; |
| 2799 | } |
| 2800 | create_admin_log_table(); |
| 2801 | va_start(ap,zFormat); |
| 2802 | blob_vappendf( &what, zFormat, ap ); |
| 2803 | va_end(ap); |
| 2804 | db_multi_exec("INSERT INTO admin_log(time,page,who,what)" |
| 2805 | " VALUES(now(), %Q, %Q, %B)", |
| 2806 | g.zPath, g.zLogin, &what); |
| 2807 | blob_reset(&what); |
| 2808 | } |
| 2809 | |
| 2810 | DDED src/foci.c |
M
src/db.c
+86
-2
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -749,10 +749,39 @@ | ||
| 749 | 749 | if( rc==0 ){ |
| 750 | 750 | sqlite3_result_int64(context, mtime); |
| 751 | 751 | } |
| 752 | 752 | } |
| 753 | 753 | |
| 754 | +void db_sym2rid_function( | |
| 755 | + sqlite3_context *context, | |
| 756 | + int argc, | |
| 757 | + sqlite3_value **argv | |
| 758 | +){ | |
| 759 | + char const * arg; | |
| 760 | + char const * type; | |
| 761 | + if(1 != argc && 2 != argc){ | |
| 762 | + sqlite3_result_error(context, "Expecting one or two arguments", -1); | |
| 763 | + return; | |
| 764 | + } | |
| 765 | + arg = (const char*)sqlite3_value_text(argv[0]); | |
| 766 | + if(!arg){ | |
| 767 | + sqlite3_result_error(context, "Expecting a STRING argument", -1); | |
| 768 | + }else{ | |
| 769 | + int rid; | |
| 770 | + type = (2==argc) ? sqlite3_value_text(argv[1]) : 0; | |
| 771 | + if(!type) type = "ci"; | |
| 772 | + rid = symbolic_name_to_rid( arg, type ); | |
| 773 | + if(rid<0){ | |
| 774 | + sqlite3_result_error(context, "Symbolic name is ambiguous.", -1); | |
| 775 | + }else if(0==rid){ | |
| 776 | + sqlite3_result_null(context); | |
| 777 | + }else{ | |
| 778 | + sqlite3_result_int64(context, rid); | |
| 779 | + } | |
| 780 | + } | |
| 781 | +} | |
| 782 | + | |
| 754 | 783 | |
| 755 | 784 | /* |
| 756 | 785 | ** Open a database file. Return a pointer to the new database |
| 757 | 786 | ** connection. An error results in process abort. |
| 758 | 787 | */ |
| @@ -781,13 +810,22 @@ | ||
| 781 | 810 | sqlite3_create_function( |
| 782 | 811 | db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 783 | 812 | ); |
| 784 | 813 | sqlite3_create_function( |
| 785 | 814 | db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 815 | + ); | |
| 816 | + sqlite3_create_function( | |
| 817 | + db, "symbolic_name_to_rid", 1, SQLITE_UTF8, 0, db_sym2rid_function, | |
| 818 | + 0, 0 | |
| 819 | + ); | |
| 820 | + sqlite3_create_function( | |
| 821 | + db, "symbolic_name_to_rid", 2, SQLITE_UTF8, 0, db_sym2rid_function, | |
| 822 | + 0, 0 | |
| 786 | 823 | ); |
| 787 | 824 | if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0); |
| 788 | 825 | re_add_sql_func(db); |
| 826 | + foci_register(db); | |
| 789 | 827 | sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0); |
| 790 | 828 | return db; |
| 791 | 829 | } |
| 792 | 830 | |
| 793 | 831 | |
| @@ -2248,10 +2286,11 @@ | ||
| 2248 | 2286 | const char *def; /* Default value */ |
| 2249 | 2287 | }; |
| 2250 | 2288 | #endif /* INTERFACE */ |
| 2251 | 2289 | struct stControlSettings const ctrlSettings[] = { |
| 2252 | 2290 | { "access-log", 0, 0, 0, 0, "off" }, |
| 2291 | + { "admin-log", 0, 0, 0, 0, "off" }, | |
| 2253 | 2292 | { "allow-symlinks", 0, 0, 1, 0, "off" }, |
| 2254 | 2293 | { "auto-captcha", "autocaptcha", 0, 0, 0, "on" }, |
| 2255 | 2294 | { "auto-hyperlink", 0, 0, 0, 0, "on", }, |
| 2256 | 2295 | { "auto-shun", 0, 0, 0, 0, "on" }, |
| 2257 | 2296 | { "autosync", 0, 0, 0, 0, "on" }, |
| @@ -2328,10 +2367,13 @@ | ||
| 2328 | 2367 | ** The "unset" command clears a property setting. |
| 2329 | 2368 | ** |
| 2330 | 2369 | ** |
| 2331 | 2370 | ** access-log If enabled, record successful and failed login attempts |
| 2332 | 2371 | ** in the "accesslog" table. Default: off |
| 2372 | +** | |
| 2373 | +** admin-log If enabled, record configuration changes in the | |
| 2374 | +** "admin_log" table. Default: off | |
| 2333 | 2375 | ** |
| 2334 | 2376 | ** allow-symlinks If enabled, don't follow symlinks, and instead treat |
| 2335 | 2377 | ** (versionable) them as symlinks on Unix. Has no effect on Windows |
| 2336 | 2378 | ** (existing links in repository created on Unix become |
| 2337 | 2379 | ** plain-text files with link destination path inside). |
| @@ -2704,21 +2746,63 @@ | ||
| 2704 | 2746 | "%s WITHOUT ROWID;\n" |
| 2705 | 2747 | "INSERT INTO \"%w\" SELECT * FROM \"x_%w\";\n" |
| 2706 | 2748 | "DROP TABLE \"x_%w\";\n", |
| 2707 | 2749 | zTName, zTName, blob_sql_text(&newSql), zTName, zTName, zTName |
| 2708 | 2750 | ); |
| 2709 | - fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", zTName, g.argv[i]); | |
| 2751 | + fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", | |
| 2752 | + zTName, g.argv[i]); | |
| 2710 | 2753 | blob_reset(&newSql); |
| 2711 | 2754 | } |
| 2712 | 2755 | blob_append_sql(&allSql, "COMMIT;\n"); |
| 2713 | 2756 | db_finalize(&q); |
| 2714 | 2757 | if( dryRun ){ |
| 2715 | 2758 | fossil_print("SQL that would have been evaluated:\n"); |
| 2716 | - fossil_print("-------------------------------------------------------------\n"); | |
| 2759 | + fossil_print("%.78c\n", '-'); | |
| 2717 | 2760 | fossil_print("%s", blob_sql_text(&allSql)); |
| 2718 | 2761 | }else{ |
| 2719 | 2762 | db_multi_exec("%s", blob_sql_text(&allSql)); |
| 2720 | 2763 | } |
| 2721 | 2764 | blob_reset(&allSql); |
| 2722 | 2765 | db_close(1); |
| 2723 | 2766 | } |
| 2724 | 2767 | } |
| 2768 | + | |
| 2769 | +/* | |
| 2770 | +** Make sure the adminlog table exists. Create it if it does not | |
| 2771 | +*/ | |
| 2772 | +void create_admin_log_table(void){ | |
| 2773 | + static int once = 0; | |
| 2774 | + if( once ) return; | |
| 2775 | + once = 1; | |
| 2776 | + db_multi_exec( | |
| 2777 | + "CREATE TABLE IF NOT EXISTS \"%w\".admin_log(\n" | |
| 2778 | + " id INTEGER PRIMARY KEY,\n" | |
| 2779 | + " time INTEGER, -- Seconds since 1970\n" | |
| 2780 | + " page TEXT, -- path of page\n" | |
| 2781 | + " who TEXT, -- User who made the change\n " | |
| 2782 | + " what TEXT -- What changed\n" | |
| 2783 | + ")", db_name("repository") | |
| 2784 | + ); | |
| 2785 | +} | |
| 2786 | + | |
| 2787 | +/* | |
| 2788 | +** Write a message into the admin_event table, if admin logging is | |
| 2789 | +** enabled via the admin-log configuration option. | |
| 2790 | +*/ | |
| 2791 | +void admin_log(const char *zFormat, ...){ | |
| 2792 | + Blob what = empty_blob; | |
| 2793 | + va_list ap; | |
| 2794 | + if( !db_get_boolean("admin-log", 0) ){ | |
| 2795 | + /* Potential leak here (on %z params) but | |
| 2796 | + the alternative is to let blob_vappendf() | |
| 2797 | + do it below. */ | |
| 2798 | + return; | |
| 2799 | + } | |
| 2800 | + create_admin_log_table(); | |
| 2801 | + va_start(ap,zFormat); | |
| 2802 | + blob_vappendf( &what, zFormat, ap ); | |
| 2803 | + va_end(ap); | |
| 2804 | + db_multi_exec("INSERT INTO admin_log(time,page,who,what)" | |
| 2805 | + " VALUES(now(), %Q, %Q, %B)", | |
| 2806 | + g.zPath, g.zLogin, &what); | |
| 2807 | + blob_reset(&what); | |
| 2808 | +} | |
| 2725 | 2809 | |
| 2726 | 2810 | ADDED src/foci.c |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -749,10 +749,39 @@ | |
| 749 | if( rc==0 ){ |
| 750 | sqlite3_result_int64(context, mtime); |
| 751 | } |
| 752 | } |
| 753 | |
| 754 | |
| 755 | /* |
| 756 | ** Open a database file. Return a pointer to the new database |
| 757 | ** connection. An error results in process abort. |
| 758 | */ |
| @@ -781,13 +810,22 @@ | |
| 781 | sqlite3_create_function( |
| 782 | db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 783 | ); |
| 784 | sqlite3_create_function( |
| 785 | db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 786 | ); |
| 787 | if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0); |
| 788 | re_add_sql_func(db); |
| 789 | sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0); |
| 790 | return db; |
| 791 | } |
| 792 | |
| 793 | |
| @@ -2248,10 +2286,11 @@ | |
| 2248 | const char *def; /* Default value */ |
| 2249 | }; |
| 2250 | #endif /* INTERFACE */ |
| 2251 | struct stControlSettings const ctrlSettings[] = { |
| 2252 | { "access-log", 0, 0, 0, 0, "off" }, |
| 2253 | { "allow-symlinks", 0, 0, 1, 0, "off" }, |
| 2254 | { "auto-captcha", "autocaptcha", 0, 0, 0, "on" }, |
| 2255 | { "auto-hyperlink", 0, 0, 0, 0, "on", }, |
| 2256 | { "auto-shun", 0, 0, 0, 0, "on" }, |
| 2257 | { "autosync", 0, 0, 0, 0, "on" }, |
| @@ -2328,10 +2367,13 @@ | |
| 2328 | ** The "unset" command clears a property setting. |
| 2329 | ** |
| 2330 | ** |
| 2331 | ** access-log If enabled, record successful and failed login attempts |
| 2332 | ** in the "accesslog" table. Default: off |
| 2333 | ** |
| 2334 | ** allow-symlinks If enabled, don't follow symlinks, and instead treat |
| 2335 | ** (versionable) them as symlinks on Unix. Has no effect on Windows |
| 2336 | ** (existing links in repository created on Unix become |
| 2337 | ** plain-text files with link destination path inside). |
| @@ -2704,21 +2746,63 @@ | |
| 2704 | "%s WITHOUT ROWID;\n" |
| 2705 | "INSERT INTO \"%w\" SELECT * FROM \"x_%w\";\n" |
| 2706 | "DROP TABLE \"x_%w\";\n", |
| 2707 | zTName, zTName, blob_sql_text(&newSql), zTName, zTName, zTName |
| 2708 | ); |
| 2709 | fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", zTName, g.argv[i]); |
| 2710 | blob_reset(&newSql); |
| 2711 | } |
| 2712 | blob_append_sql(&allSql, "COMMIT;\n"); |
| 2713 | db_finalize(&q); |
| 2714 | if( dryRun ){ |
| 2715 | fossil_print("SQL that would have been evaluated:\n"); |
| 2716 | fossil_print("-------------------------------------------------------------\n"); |
| 2717 | fossil_print("%s", blob_sql_text(&allSql)); |
| 2718 | }else{ |
| 2719 | db_multi_exec("%s", blob_sql_text(&allSql)); |
| 2720 | } |
| 2721 | blob_reset(&allSql); |
| 2722 | db_close(1); |
| 2723 | } |
| 2724 | } |
| 2725 | |
| 2726 | DDED src/foci.c |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -749,10 +749,39 @@ | |
| 749 | if( rc==0 ){ |
| 750 | sqlite3_result_int64(context, mtime); |
| 751 | } |
| 752 | } |
| 753 | |
| 754 | void db_sym2rid_function( |
| 755 | sqlite3_context *context, |
| 756 | int argc, |
| 757 | sqlite3_value **argv |
| 758 | ){ |
| 759 | char const * arg; |
| 760 | char const * type; |
| 761 | if(1 != argc && 2 != argc){ |
| 762 | sqlite3_result_error(context, "Expecting one or two arguments", -1); |
| 763 | return; |
| 764 | } |
| 765 | arg = (const char*)sqlite3_value_text(argv[0]); |
| 766 | if(!arg){ |
| 767 | sqlite3_result_error(context, "Expecting a STRING argument", -1); |
| 768 | }else{ |
| 769 | int rid; |
| 770 | type = (2==argc) ? sqlite3_value_text(argv[1]) : 0; |
| 771 | if(!type) type = "ci"; |
| 772 | rid = symbolic_name_to_rid( arg, type ); |
| 773 | if(rid<0){ |
| 774 | sqlite3_result_error(context, "Symbolic name is ambiguous.", -1); |
| 775 | }else if(0==rid){ |
| 776 | sqlite3_result_null(context); |
| 777 | }else{ |
| 778 | sqlite3_result_int64(context, rid); |
| 779 | } |
| 780 | } |
| 781 | } |
| 782 | |
| 783 | |
| 784 | /* |
| 785 | ** Open a database file. Return a pointer to the new database |
| 786 | ** connection. An error results in process abort. |
| 787 | */ |
| @@ -781,13 +810,22 @@ | |
| 810 | sqlite3_create_function( |
| 811 | db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 812 | ); |
| 813 | sqlite3_create_function( |
| 814 | db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 |
| 815 | ); |
| 816 | sqlite3_create_function( |
| 817 | db, "symbolic_name_to_rid", 1, SQLITE_UTF8, 0, db_sym2rid_function, |
| 818 | 0, 0 |
| 819 | ); |
| 820 | sqlite3_create_function( |
| 821 | db, "symbolic_name_to_rid", 2, SQLITE_UTF8, 0, db_sym2rid_function, |
| 822 | 0, 0 |
| 823 | ); |
| 824 | if( g.fSqlTrace ) sqlite3_trace(db, db_sql_trace, 0); |
| 825 | re_add_sql_func(db); |
| 826 | foci_register(db); |
| 827 | sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0); |
| 828 | return db; |
| 829 | } |
| 830 | |
| 831 | |
| @@ -2248,10 +2286,11 @@ | |
| 2286 | const char *def; /* Default value */ |
| 2287 | }; |
| 2288 | #endif /* INTERFACE */ |
| 2289 | struct stControlSettings const ctrlSettings[] = { |
| 2290 | { "access-log", 0, 0, 0, 0, "off" }, |
| 2291 | { "admin-log", 0, 0, 0, 0, "off" }, |
| 2292 | { "allow-symlinks", 0, 0, 1, 0, "off" }, |
| 2293 | { "auto-captcha", "autocaptcha", 0, 0, 0, "on" }, |
| 2294 | { "auto-hyperlink", 0, 0, 0, 0, "on", }, |
| 2295 | { "auto-shun", 0, 0, 0, 0, "on" }, |
| 2296 | { "autosync", 0, 0, 0, 0, "on" }, |
| @@ -2328,10 +2367,13 @@ | |
| 2367 | ** The "unset" command clears a property setting. |
| 2368 | ** |
| 2369 | ** |
| 2370 | ** access-log If enabled, record successful and failed login attempts |
| 2371 | ** in the "accesslog" table. Default: off |
| 2372 | ** |
| 2373 | ** admin-log If enabled, record configuration changes in the |
| 2374 | ** "admin_log" table. Default: off |
| 2375 | ** |
| 2376 | ** allow-symlinks If enabled, don't follow symlinks, and instead treat |
| 2377 | ** (versionable) them as symlinks on Unix. Has no effect on Windows |
| 2378 | ** (existing links in repository created on Unix become |
| 2379 | ** plain-text files with link destination path inside). |
| @@ -2704,21 +2746,63 @@ | |
| 2746 | "%s WITHOUT ROWID;\n" |
| 2747 | "INSERT INTO \"%w\" SELECT * FROM \"x_%w\";\n" |
| 2748 | "DROP TABLE \"x_%w\";\n", |
| 2749 | zTName, zTName, blob_sql_text(&newSql), zTName, zTName, zTName |
| 2750 | ); |
| 2751 | fossil_print("Converting table %s of %s to WITHOUT ROWID.\n", |
| 2752 | zTName, g.argv[i]); |
| 2753 | blob_reset(&newSql); |
| 2754 | } |
| 2755 | blob_append_sql(&allSql, "COMMIT;\n"); |
| 2756 | db_finalize(&q); |
| 2757 | if( dryRun ){ |
| 2758 | fossil_print("SQL that would have been evaluated:\n"); |
| 2759 | fossil_print("%.78c\n", '-'); |
| 2760 | fossil_print("%s", blob_sql_text(&allSql)); |
| 2761 | }else{ |
| 2762 | db_multi_exec("%s", blob_sql_text(&allSql)); |
| 2763 | } |
| 2764 | blob_reset(&allSql); |
| 2765 | db_close(1); |
| 2766 | } |
| 2767 | } |
| 2768 | |
| 2769 | /* |
| 2770 | ** Make sure the adminlog table exists. Create it if it does not |
| 2771 | */ |
| 2772 | void create_admin_log_table(void){ |
| 2773 | static int once = 0; |
| 2774 | if( once ) return; |
| 2775 | once = 1; |
| 2776 | db_multi_exec( |
| 2777 | "CREATE TABLE IF NOT EXISTS \"%w\".admin_log(\n" |
| 2778 | " id INTEGER PRIMARY KEY,\n" |
| 2779 | " time INTEGER, -- Seconds since 1970\n" |
| 2780 | " page TEXT, -- path of page\n" |
| 2781 | " who TEXT, -- User who made the change\n " |
| 2782 | " what TEXT -- What changed\n" |
| 2783 | ")", db_name("repository") |
| 2784 | ); |
| 2785 | } |
| 2786 | |
| 2787 | /* |
| 2788 | ** Write a message into the admin_event table, if admin logging is |
| 2789 | ** enabled via the admin-log configuration option. |
| 2790 | */ |
| 2791 | void admin_log(const char *zFormat, ...){ |
| 2792 | Blob what = empty_blob; |
| 2793 | va_list ap; |
| 2794 | if( !db_get_boolean("admin-log", 0) ){ |
| 2795 | /* Potential leak here (on %z params) but |
| 2796 | the alternative is to let blob_vappendf() |
| 2797 | do it below. */ |
| 2798 | return; |
| 2799 | } |
| 2800 | create_admin_log_table(); |
| 2801 | va_start(ap,zFormat); |
| 2802 | blob_vappendf( &what, zFormat, ap ); |
| 2803 | va_end(ap); |
| 2804 | db_multi_exec("INSERT INTO admin_log(time,page,who,what)" |
| 2805 | " VALUES(now(), %Q, %Q, %B)", |
| 2806 | g.zPath, g.zLogin, &what); |
| 2807 | blob_reset(&what); |
| 2808 | } |
| 2809 | |
| 2810 | DDED src/foci.c |
+12
| --- a/src/foci.c | ||
| +++ b/src/foci.c | ||
| @@ -0,0 +1,12 @@ | ||
| 1 | +//* The function finds the BLOB.RID value | |
| 2 | +** corresponding to the 'trunk' tag. Then the | |
| 3 | +** decodes the manifest defined by that BLOB and returns all files described | |
| 4 | +** by that manifest. / /an SQLite virtual tabCREATE VIRTUAL TABLE temp.focipCur->iFile = 0; | |
| 5 | +pCuur->pMan, 0); Then the | |
| 6 | +** decodes//* The function finds ttion finds the BL//* Of CheckI rem | |
| 7 | + sqlite3_context *ctx, int iFile;Index of cfileLOB.RID value | |
| 8 | +** corresponding to the 'trunk' tag. Then the | |
| 9 | +** decodes the manifest defined by that BLOB and returns all files described | |
| 10 | +** b//* The funcMan->aFile[pCsr->iFile].Man->aFile[pCsr->iFile].Man->aFile[pCsr->iFile].Man->aFile[pCsr->iFile].Table *pTab = (FociTable *)pVTab;int rc; | |
| 11 | + | |
| 12 | + |
| --- a/src/foci.c | |
| +++ b/src/foci.c | |
| @@ -0,0 +1,12 @@ | |
| --- a/src/foci.c | |
| +++ b/src/foci.c | |
| @@ -0,0 +1,12 @@ | |
| 1 | //* The function finds the BLOB.RID value |
| 2 | ** corresponding to the 'trunk' tag. Then the |
| 3 | ** decodes the manifest defined by that BLOB and returns all files described |
| 4 | ** by that manifest. / /an SQLite virtual tabCREATE VIRTUAL TABLE temp.focipCur->iFile = 0; |
| 5 | pCuur->pMan, 0); Then the |
| 6 | ** decodes//* The function finds ttion finds the BL//* Of CheckI rem |
| 7 | sqlite3_context *ctx, int iFile;Index of cfileLOB.RID value |
| 8 | ** corresponding to the 'trunk' tag. Then the |
| 9 | ** decodes the manifest defined by that BLOB and returns all files described |
| 10 | ** b//* The funcMan->aFile[pCsr->iFile].Man->aFile[pCsr->iFile].Man->aFile[pCsr->iFile].Man->aFile[pCsr->iFile].Table *pTab = (FociTable *)pVTab;int rc; |
| 11 | |
| 12 |
+12
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -44,10 +44,11 @@ | ||
| 44 | 44 | $(SRCDIR)/encode.c \ |
| 45 | 45 | $(SRCDIR)/event.c \ |
| 46 | 46 | $(SRCDIR)/export.c \ |
| 47 | 47 | $(SRCDIR)/file.c \ |
| 48 | 48 | $(SRCDIR)/finfo.c \ |
| 49 | + $(SRCDIR)/foci.c \ | |
| 49 | 50 | $(SRCDIR)/fusefs.c \ |
| 50 | 51 | $(SRCDIR)/glob.c \ |
| 51 | 52 | $(SRCDIR)/graph.c \ |
| 52 | 53 | $(SRCDIR)/gzip.c \ |
| 53 | 54 | $(SRCDIR)/http.c \ |
| @@ -164,10 +165,11 @@ | ||
| 164 | 165 | $(OBJDIR)/encode_.c \ |
| 165 | 166 | $(OBJDIR)/event_.c \ |
| 166 | 167 | $(OBJDIR)/export_.c \ |
| 167 | 168 | $(OBJDIR)/file_.c \ |
| 168 | 169 | $(OBJDIR)/finfo_.c \ |
| 170 | + $(OBJDIR)/foci_.c \ | |
| 169 | 171 | $(OBJDIR)/fusefs_.c \ |
| 170 | 172 | $(OBJDIR)/glob_.c \ |
| 171 | 173 | $(OBJDIR)/graph_.c \ |
| 172 | 174 | $(OBJDIR)/gzip_.c \ |
| 173 | 175 | $(OBJDIR)/http_.c \ |
| @@ -281,10 +283,11 @@ | ||
| 281 | 283 | $(OBJDIR)/encode.o \ |
| 282 | 284 | $(OBJDIR)/event.o \ |
| 283 | 285 | $(OBJDIR)/export.o \ |
| 284 | 286 | $(OBJDIR)/file.o \ |
| 285 | 287 | $(OBJDIR)/finfo.o \ |
| 288 | + $(OBJDIR)/foci.o \ | |
| 286 | 289 | $(OBJDIR)/fusefs.o \ |
| 287 | 290 | $(OBJDIR)/glob.o \ |
| 288 | 291 | $(OBJDIR)/graph.o \ |
| 289 | 292 | $(OBJDIR)/gzip.o \ |
| 290 | 293 | $(OBJDIR)/http.o \ |
| @@ -507,10 +510,11 @@ | ||
| 507 | 510 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 508 | 511 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 509 | 512 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 510 | 513 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 511 | 514 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 515 | + $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ | |
| 512 | 516 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 513 | 517 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 514 | 518 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 515 | 519 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 516 | 520 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -852,10 +856,18 @@ | ||
| 852 | 856 | |
| 853 | 857 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 854 | 858 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 855 | 859 | |
| 856 | 860 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 861 | + | |
| 862 | +$(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(OBJDIR)/translate | |
| 863 | + $(OBJDIR)/translate $(SRCDIR)/foci.c >$@ | |
| 864 | + | |
| 865 | +$(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h | |
| 866 | + $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c | |
| 867 | + | |
| 868 | +$(OBJDIR)/foci.h: $(OBJDIR)/headers | |
| 857 | 869 | |
| 858 | 870 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(OBJDIR)/translate |
| 859 | 871 | $(OBJDIR)/translate $(SRCDIR)/fusefs.c >$@ |
| 860 | 872 | |
| 861 | 873 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 862 | 874 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -44,10 +44,11 @@ | |
| 44 | $(SRCDIR)/encode.c \ |
| 45 | $(SRCDIR)/event.c \ |
| 46 | $(SRCDIR)/export.c \ |
| 47 | $(SRCDIR)/file.c \ |
| 48 | $(SRCDIR)/finfo.c \ |
| 49 | $(SRCDIR)/fusefs.c \ |
| 50 | $(SRCDIR)/glob.c \ |
| 51 | $(SRCDIR)/graph.c \ |
| 52 | $(SRCDIR)/gzip.c \ |
| 53 | $(SRCDIR)/http.c \ |
| @@ -164,10 +165,11 @@ | |
| 164 | $(OBJDIR)/encode_.c \ |
| 165 | $(OBJDIR)/event_.c \ |
| 166 | $(OBJDIR)/export_.c \ |
| 167 | $(OBJDIR)/file_.c \ |
| 168 | $(OBJDIR)/finfo_.c \ |
| 169 | $(OBJDIR)/fusefs_.c \ |
| 170 | $(OBJDIR)/glob_.c \ |
| 171 | $(OBJDIR)/graph_.c \ |
| 172 | $(OBJDIR)/gzip_.c \ |
| 173 | $(OBJDIR)/http_.c \ |
| @@ -281,10 +283,11 @@ | |
| 281 | $(OBJDIR)/encode.o \ |
| 282 | $(OBJDIR)/event.o \ |
| 283 | $(OBJDIR)/export.o \ |
| 284 | $(OBJDIR)/file.o \ |
| 285 | $(OBJDIR)/finfo.o \ |
| 286 | $(OBJDIR)/fusefs.o \ |
| 287 | $(OBJDIR)/glob.o \ |
| 288 | $(OBJDIR)/graph.o \ |
| 289 | $(OBJDIR)/gzip.o \ |
| 290 | $(OBJDIR)/http.o \ |
| @@ -507,10 +510,11 @@ | |
| 507 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 508 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 509 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 510 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 511 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 512 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 513 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 514 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 515 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 516 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -852,10 +856,18 @@ | |
| 852 | |
| 853 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 854 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 855 | |
| 856 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 857 | |
| 858 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(OBJDIR)/translate |
| 859 | $(OBJDIR)/translate $(SRCDIR)/fusefs.c >$@ |
| 860 | |
| 861 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 862 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -44,10 +44,11 @@ | |
| 44 | $(SRCDIR)/encode.c \ |
| 45 | $(SRCDIR)/event.c \ |
| 46 | $(SRCDIR)/export.c \ |
| 47 | $(SRCDIR)/file.c \ |
| 48 | $(SRCDIR)/finfo.c \ |
| 49 | $(SRCDIR)/foci.c \ |
| 50 | $(SRCDIR)/fusefs.c \ |
| 51 | $(SRCDIR)/glob.c \ |
| 52 | $(SRCDIR)/graph.c \ |
| 53 | $(SRCDIR)/gzip.c \ |
| 54 | $(SRCDIR)/http.c \ |
| @@ -164,10 +165,11 @@ | |
| 165 | $(OBJDIR)/encode_.c \ |
| 166 | $(OBJDIR)/event_.c \ |
| 167 | $(OBJDIR)/export_.c \ |
| 168 | $(OBJDIR)/file_.c \ |
| 169 | $(OBJDIR)/finfo_.c \ |
| 170 | $(OBJDIR)/foci_.c \ |
| 171 | $(OBJDIR)/fusefs_.c \ |
| 172 | $(OBJDIR)/glob_.c \ |
| 173 | $(OBJDIR)/graph_.c \ |
| 174 | $(OBJDIR)/gzip_.c \ |
| 175 | $(OBJDIR)/http_.c \ |
| @@ -281,10 +283,11 @@ | |
| 283 | $(OBJDIR)/encode.o \ |
| 284 | $(OBJDIR)/event.o \ |
| 285 | $(OBJDIR)/export.o \ |
| 286 | $(OBJDIR)/file.o \ |
| 287 | $(OBJDIR)/finfo.o \ |
| 288 | $(OBJDIR)/foci.o \ |
| 289 | $(OBJDIR)/fusefs.o \ |
| 290 | $(OBJDIR)/glob.o \ |
| 291 | $(OBJDIR)/graph.o \ |
| 292 | $(OBJDIR)/gzip.o \ |
| 293 | $(OBJDIR)/http.o \ |
| @@ -507,10 +510,11 @@ | |
| 510 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 511 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 512 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 513 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 514 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 515 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 516 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 517 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 518 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 519 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 520 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -852,10 +856,18 @@ | |
| 856 | |
| 857 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 858 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 859 | |
| 860 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 861 | |
| 862 | $(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(OBJDIR)/translate |
| 863 | $(OBJDIR)/translate $(SRCDIR)/foci.c >$@ |
| 864 | |
| 865 | $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h |
| 866 | $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c |
| 867 | |
| 868 | $(OBJDIR)/foci.h: $(OBJDIR)/headers |
| 869 | |
| 870 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(OBJDIR)/translate |
| 871 | $(OBJDIR)/translate $(SRCDIR)/fusefs.c >$@ |
| 872 | |
| 873 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 874 |
+12
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -44,10 +44,11 @@ | ||
| 44 | 44 | $(SRCDIR)/encode.c \ |
| 45 | 45 | $(SRCDIR)/event.c \ |
| 46 | 46 | $(SRCDIR)/export.c \ |
| 47 | 47 | $(SRCDIR)/file.c \ |
| 48 | 48 | $(SRCDIR)/finfo.c \ |
| 49 | + $(SRCDIR)/foci.c \ | |
| 49 | 50 | $(SRCDIR)/fusefs.c \ |
| 50 | 51 | $(SRCDIR)/glob.c \ |
| 51 | 52 | $(SRCDIR)/graph.c \ |
| 52 | 53 | $(SRCDIR)/gzip.c \ |
| 53 | 54 | $(SRCDIR)/http.c \ |
| @@ -164,10 +165,11 @@ | ||
| 164 | 165 | $(OBJDIR)/encode_.c \ |
| 165 | 166 | $(OBJDIR)/event_.c \ |
| 166 | 167 | $(OBJDIR)/export_.c \ |
| 167 | 168 | $(OBJDIR)/file_.c \ |
| 168 | 169 | $(OBJDIR)/finfo_.c \ |
| 170 | + $(OBJDIR)/foci_.c \ | |
| 169 | 171 | $(OBJDIR)/fusefs_.c \ |
| 170 | 172 | $(OBJDIR)/glob_.c \ |
| 171 | 173 | $(OBJDIR)/graph_.c \ |
| 172 | 174 | $(OBJDIR)/gzip_.c \ |
| 173 | 175 | $(OBJDIR)/http_.c \ |
| @@ -281,10 +283,11 @@ | ||
| 281 | 283 | $(OBJDIR)/encode.o \ |
| 282 | 284 | $(OBJDIR)/event.o \ |
| 283 | 285 | $(OBJDIR)/export.o \ |
| 284 | 286 | $(OBJDIR)/file.o \ |
| 285 | 287 | $(OBJDIR)/finfo.o \ |
| 288 | + $(OBJDIR)/foci.o \ | |
| 286 | 289 | $(OBJDIR)/fusefs.o \ |
| 287 | 290 | $(OBJDIR)/glob.o \ |
| 288 | 291 | $(OBJDIR)/graph.o \ |
| 289 | 292 | $(OBJDIR)/gzip.o \ |
| 290 | 293 | $(OBJDIR)/http.o \ |
| @@ -507,10 +510,11 @@ | ||
| 507 | 510 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 508 | 511 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 509 | 512 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 510 | 513 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 511 | 514 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 515 | + $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ | |
| 512 | 516 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 513 | 517 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 514 | 518 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 515 | 519 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 516 | 520 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -852,10 +856,18 @@ | ||
| 852 | 856 | |
| 853 | 857 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 854 | 858 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 855 | 859 | |
| 856 | 860 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 861 | + | |
| 862 | +$(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(OBJDIR)/translate | |
| 863 | + $(OBJDIR)/translate $(SRCDIR)/foci.c >$@ | |
| 864 | + | |
| 865 | +$(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h | |
| 866 | + $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c | |
| 867 | + | |
| 868 | +$(OBJDIR)/foci.h: $(OBJDIR)/headers | |
| 857 | 869 | |
| 858 | 870 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(OBJDIR)/translate |
| 859 | 871 | $(OBJDIR)/translate $(SRCDIR)/fusefs.c >$@ |
| 860 | 872 | |
| 861 | 873 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 862 | 874 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -44,10 +44,11 @@ | |
| 44 | $(SRCDIR)/encode.c \ |
| 45 | $(SRCDIR)/event.c \ |
| 46 | $(SRCDIR)/export.c \ |
| 47 | $(SRCDIR)/file.c \ |
| 48 | $(SRCDIR)/finfo.c \ |
| 49 | $(SRCDIR)/fusefs.c \ |
| 50 | $(SRCDIR)/glob.c \ |
| 51 | $(SRCDIR)/graph.c \ |
| 52 | $(SRCDIR)/gzip.c \ |
| 53 | $(SRCDIR)/http.c \ |
| @@ -164,10 +165,11 @@ | |
| 164 | $(OBJDIR)/encode_.c \ |
| 165 | $(OBJDIR)/event_.c \ |
| 166 | $(OBJDIR)/export_.c \ |
| 167 | $(OBJDIR)/file_.c \ |
| 168 | $(OBJDIR)/finfo_.c \ |
| 169 | $(OBJDIR)/fusefs_.c \ |
| 170 | $(OBJDIR)/glob_.c \ |
| 171 | $(OBJDIR)/graph_.c \ |
| 172 | $(OBJDIR)/gzip_.c \ |
| 173 | $(OBJDIR)/http_.c \ |
| @@ -281,10 +283,11 @@ | |
| 281 | $(OBJDIR)/encode.o \ |
| 282 | $(OBJDIR)/event.o \ |
| 283 | $(OBJDIR)/export.o \ |
| 284 | $(OBJDIR)/file.o \ |
| 285 | $(OBJDIR)/finfo.o \ |
| 286 | $(OBJDIR)/fusefs.o \ |
| 287 | $(OBJDIR)/glob.o \ |
| 288 | $(OBJDIR)/graph.o \ |
| 289 | $(OBJDIR)/gzip.o \ |
| 290 | $(OBJDIR)/http.o \ |
| @@ -507,10 +510,11 @@ | |
| 507 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 508 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 509 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 510 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 511 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 512 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 513 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 514 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 515 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 516 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -852,10 +856,18 @@ | |
| 852 | |
| 853 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 854 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 855 | |
| 856 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 857 | |
| 858 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(OBJDIR)/translate |
| 859 | $(OBJDIR)/translate $(SRCDIR)/fusefs.c >$@ |
| 860 | |
| 861 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 862 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -44,10 +44,11 @@ | |
| 44 | $(SRCDIR)/encode.c \ |
| 45 | $(SRCDIR)/event.c \ |
| 46 | $(SRCDIR)/export.c \ |
| 47 | $(SRCDIR)/file.c \ |
| 48 | $(SRCDIR)/finfo.c \ |
| 49 | $(SRCDIR)/foci.c \ |
| 50 | $(SRCDIR)/fusefs.c \ |
| 51 | $(SRCDIR)/glob.c \ |
| 52 | $(SRCDIR)/graph.c \ |
| 53 | $(SRCDIR)/gzip.c \ |
| 54 | $(SRCDIR)/http.c \ |
| @@ -164,10 +165,11 @@ | |
| 165 | $(OBJDIR)/encode_.c \ |
| 166 | $(OBJDIR)/event_.c \ |
| 167 | $(OBJDIR)/export_.c \ |
| 168 | $(OBJDIR)/file_.c \ |
| 169 | $(OBJDIR)/finfo_.c \ |
| 170 | $(OBJDIR)/foci_.c \ |
| 171 | $(OBJDIR)/fusefs_.c \ |
| 172 | $(OBJDIR)/glob_.c \ |
| 173 | $(OBJDIR)/graph_.c \ |
| 174 | $(OBJDIR)/gzip_.c \ |
| 175 | $(OBJDIR)/http_.c \ |
| @@ -281,10 +283,11 @@ | |
| 283 | $(OBJDIR)/encode.o \ |
| 284 | $(OBJDIR)/event.o \ |
| 285 | $(OBJDIR)/export.o \ |
| 286 | $(OBJDIR)/file.o \ |
| 287 | $(OBJDIR)/finfo.o \ |
| 288 | $(OBJDIR)/foci.o \ |
| 289 | $(OBJDIR)/fusefs.o \ |
| 290 | $(OBJDIR)/glob.o \ |
| 291 | $(OBJDIR)/graph.o \ |
| 292 | $(OBJDIR)/gzip.o \ |
| 293 | $(OBJDIR)/http.o \ |
| @@ -507,10 +510,11 @@ | |
| 510 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 511 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 512 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 513 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 514 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 515 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 516 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 517 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 518 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 519 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 520 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -852,10 +856,18 @@ | |
| 856 | |
| 857 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 858 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 859 | |
| 860 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 861 | |
| 862 | $(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(OBJDIR)/translate |
| 863 | $(OBJDIR)/translate $(SRCDIR)/foci.c >$@ |
| 864 | |
| 865 | $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h |
| 866 | $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c |
| 867 | |
| 868 | $(OBJDIR)/foci.h: $(OBJDIR)/headers |
| 869 | |
| 870 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(OBJDIR)/translate |
| 871 | $(OBJDIR)/translate $(SRCDIR)/fusefs.c >$@ |
| 872 | |
| 873 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 874 |
+1
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -51,10 +51,11 @@ | ||
| 51 | 51 | encode |
| 52 | 52 | event |
| 53 | 53 | export |
| 54 | 54 | file |
| 55 | 55 | finfo |
| 56 | + foci | |
| 56 | 57 | fusefs |
| 57 | 58 | glob |
| 58 | 59 | graph |
| 59 | 60 | gzip |
| 60 | 61 | http |
| 61 | 62 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -51,10 +51,11 @@ | |
| 51 | encode |
| 52 | event |
| 53 | export |
| 54 | file |
| 55 | finfo |
| 56 | fusefs |
| 57 | glob |
| 58 | graph |
| 59 | gzip |
| 60 | http |
| 61 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -51,10 +51,11 @@ | |
| 51 | encode |
| 52 | event |
| 53 | export |
| 54 | file |
| 55 | finfo |
| 56 | foci |
| 57 | fusefs |
| 58 | glob |
| 59 | graph |
| 60 | gzip |
| 61 | http |
| 62 |
+1
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -51,10 +51,11 @@ | ||
| 51 | 51 | encode |
| 52 | 52 | event |
| 53 | 53 | export |
| 54 | 54 | file |
| 55 | 55 | finfo |
| 56 | + foci | |
| 56 | 57 | fusefs |
| 57 | 58 | glob |
| 58 | 59 | graph |
| 59 | 60 | gzip |
| 60 | 61 | http |
| 61 | 62 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -51,10 +51,11 @@ | |
| 51 | encode |
| 52 | event |
| 53 | export |
| 54 | file |
| 55 | finfo |
| 56 | fusefs |
| 57 | glob |
| 58 | graph |
| 59 | gzip |
| 60 | http |
| 61 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -51,10 +51,11 @@ | |
| 51 | encode |
| 52 | event |
| 53 | export |
| 54 | file |
| 55 | finfo |
| 56 | foci |
| 57 | fusefs |
| 58 | glob |
| 59 | graph |
| 60 | gzip |
| 61 | http |
| 62 |
+2
| --- src/moderate.c | ||
| +++ src/moderate.c | ||
| @@ -116,10 +116,11 @@ | ||
| 116 | 116 | attachRid = db_int(0, "SELECT attachRid FROM modreq WHERE objid=%d", rid); |
| 117 | 117 | if( rid==objid ){ |
| 118 | 118 | db_multi_exec("DELETE FROM modreq WHERE objid=%d", rid); |
| 119 | 119 | } |
| 120 | 120 | if( attachRid && object_used(attachRid) ) attachRid = 0; |
| 121 | + admin_log("Disapproved moderation of rid %d.", rid); | |
| 121 | 122 | rid = attachRid; |
| 122 | 123 | } |
| 123 | 124 | db_end_transaction(0); |
| 124 | 125 | } |
| 125 | 126 | |
| @@ -134,10 +135,11 @@ | ||
| 134 | 135 | "INSERT OR IGNORE INTO unclustered VALUES(%d);" |
| 135 | 136 | "INSERT OR IGNORE INTO unsent VALUES(%d);", |
| 136 | 137 | rid, rid, rid |
| 137 | 138 | ); |
| 138 | 139 | db_multi_exec("DELETE FROM modreq WHERE objid=%d", rid); |
| 140 | + admin_log("Approved moderation of rid %d.", rid); | |
| 139 | 141 | db_end_transaction(0); |
| 140 | 142 | } |
| 141 | 143 | |
| 142 | 144 | /* |
| 143 | 145 | ** WEBPAGE: modreq |
| 144 | 146 |
| --- src/moderate.c | |
| +++ src/moderate.c | |
| @@ -116,10 +116,11 @@ | |
| 116 | attachRid = db_int(0, "SELECT attachRid FROM modreq WHERE objid=%d", rid); |
| 117 | if( rid==objid ){ |
| 118 | db_multi_exec("DELETE FROM modreq WHERE objid=%d", rid); |
| 119 | } |
| 120 | if( attachRid && object_used(attachRid) ) attachRid = 0; |
| 121 | rid = attachRid; |
| 122 | } |
| 123 | db_end_transaction(0); |
| 124 | } |
| 125 | |
| @@ -134,10 +135,11 @@ | |
| 134 | "INSERT OR IGNORE INTO unclustered VALUES(%d);" |
| 135 | "INSERT OR IGNORE INTO unsent VALUES(%d);", |
| 136 | rid, rid, rid |
| 137 | ); |
| 138 | db_multi_exec("DELETE FROM modreq WHERE objid=%d", rid); |
| 139 | db_end_transaction(0); |
| 140 | } |
| 141 | |
| 142 | /* |
| 143 | ** WEBPAGE: modreq |
| 144 |
| --- src/moderate.c | |
| +++ src/moderate.c | |
| @@ -116,10 +116,11 @@ | |
| 116 | attachRid = db_int(0, "SELECT attachRid FROM modreq WHERE objid=%d", rid); |
| 117 | if( rid==objid ){ |
| 118 | db_multi_exec("DELETE FROM modreq WHERE objid=%d", rid); |
| 119 | } |
| 120 | if( attachRid && object_used(attachRid) ) attachRid = 0; |
| 121 | admin_log("Disapproved moderation of rid %d.", rid); |
| 122 | rid = attachRid; |
| 123 | } |
| 124 | db_end_transaction(0); |
| 125 | } |
| 126 | |
| @@ -134,10 +135,11 @@ | |
| 135 | "INSERT OR IGNORE INTO unclustered VALUES(%d);" |
| 136 | "INSERT OR IGNORE INTO unsent VALUES(%d);", |
| 137 | rid, rid, rid |
| 138 | ); |
| 139 | db_multi_exec("DELETE FROM modreq WHERE objid=%d", rid); |
| 140 | admin_log("Approved moderation of rid %d.", rid); |
| 141 | db_end_transaction(0); |
| 142 | } |
| 143 | |
| 144 | /* |
| 145 | ** WEBPAGE: modreq |
| 146 |
+1
-1
| --- src/rebuild.c | ||
| +++ src/rebuild.c | ||
| @@ -346,11 +346,11 @@ | ||
| 346 | 346 | rebuild_update_schema(); |
| 347 | 347 | for(;;){ |
| 348 | 348 | zTable = db_text(0, |
| 349 | 349 | "SELECT name FROM sqlite_master /*scan*/" |
| 350 | 350 | " WHERE type='table'" |
| 351 | - " AND name NOT IN ('blob','delta','rcvfrom','user'," | |
| 351 | + " AND name NOT IN ('admin_log', 'blob','delta','rcvfrom','user'," | |
| 352 | 352 | "'config','shun','private','reportfmt'," |
| 353 | 353 | "'concealed','accesslog','modreq'," |
| 354 | 354 | "'purgeevent','purgeitem')" |
| 355 | 355 | " AND name NOT GLOB 'sqlite_*'" |
| 356 | 356 | " AND name NOT GLOB 'fx_*'" |
| 357 | 357 |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -346,11 +346,11 @@ | |
| 346 | rebuild_update_schema(); |
| 347 | for(;;){ |
| 348 | zTable = db_text(0, |
| 349 | "SELECT name FROM sqlite_master /*scan*/" |
| 350 | " WHERE type='table'" |
| 351 | " AND name NOT IN ('blob','delta','rcvfrom','user'," |
| 352 | "'config','shun','private','reportfmt'," |
| 353 | "'concealed','accesslog','modreq'," |
| 354 | "'purgeevent','purgeitem')" |
| 355 | " AND name NOT GLOB 'sqlite_*'" |
| 356 | " AND name NOT GLOB 'fx_*'" |
| 357 |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -346,11 +346,11 @@ | |
| 346 | rebuild_update_schema(); |
| 347 | for(;;){ |
| 348 | zTable = db_text(0, |
| 349 | "SELECT name FROM sqlite_master /*scan*/" |
| 350 | " WHERE type='table'" |
| 351 | " AND name NOT IN ('admin_log', 'blob','delta','rcvfrom','user'," |
| 352 | "'config','shun','private','reportfmt'," |
| 353 | "'concealed','accesslog','modreq'," |
| 354 | "'purgeevent','purgeitem')" |
| 355 | " AND name NOT GLOB 'sqlite_*'" |
| 356 | " AND name NOT GLOB 'fx_*'" |
| 357 |
+1
-1
| --- src/rebuild.c | ||
| +++ src/rebuild.c | ||
| @@ -346,11 +346,11 @@ | ||
| 346 | 346 | rebuild_update_schema(); |
| 347 | 347 | for(;;){ |
| 348 | 348 | zTable = db_text(0, |
| 349 | 349 | "SELECT name FROM sqlite_master /*scan*/" |
| 350 | 350 | " WHERE type='table'" |
| 351 | - " AND name NOT IN ('blob','delta','rcvfrom','user'," | |
| 351 | + " AND name NOT IN ('admin_log', 'blob','delta','rcvfrom','user'," | |
| 352 | 352 | "'config','shun','private','reportfmt'," |
| 353 | 353 | "'concealed','accesslog','modreq'," |
| 354 | 354 | "'purgeevent','purgeitem')" |
| 355 | 355 | " AND name NOT GLOB 'sqlite_*'" |
| 356 | 356 | " AND name NOT GLOB 'fx_*'" |
| 357 | 357 |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -346,11 +346,11 @@ | |
| 346 | rebuild_update_schema(); |
| 347 | for(;;){ |
| 348 | zTable = db_text(0, |
| 349 | "SELECT name FROM sqlite_master /*scan*/" |
| 350 | " WHERE type='table'" |
| 351 | " AND name NOT IN ('blob','delta','rcvfrom','user'," |
| 352 | "'config','shun','private','reportfmt'," |
| 353 | "'concealed','accesslog','modreq'," |
| 354 | "'purgeevent','purgeitem')" |
| 355 | " AND name NOT GLOB 'sqlite_*'" |
| 356 | " AND name NOT GLOB 'fx_*'" |
| 357 |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -346,11 +346,11 @@ | |
| 346 | rebuild_update_schema(); |
| 347 | for(;;){ |
| 348 | zTable = db_text(0, |
| 349 | "SELECT name FROM sqlite_master /*scan*/" |
| 350 | " WHERE type='table'" |
| 351 | " AND name NOT IN ('admin_log', 'blob','delta','rcvfrom','user'," |
| 352 | "'config','shun','private','reportfmt'," |
| 353 | "'concealed','accesslog','modreq'," |
| 354 | "'purgeevent','purgeitem')" |
| 355 | " AND name NOT GLOB 'sqlite_*'" |
| 356 | " AND name NOT GLOB 'fx_*'" |
| 357 |
+98
-1
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -109,10 +109,12 @@ | ||
| 109 | 109 | "Show artifacts that are shunned by this repository"); |
| 110 | 110 | setup_menu_entry("Log", "rcvfromlist", |
| 111 | 111 | "A record of received artifacts and their sources"); |
| 112 | 112 | setup_menu_entry("User-Log", "access_log", |
| 113 | 113 | "A record of login attempts"); |
| 114 | + setup_menu_entry("Admin-Log", "admin_log", | |
| 115 | + "View the admin_log entries"); | |
| 114 | 116 | setup_menu_entry("Stats", "stat", |
| 115 | 117 | "Display repository statistics"); |
| 116 | 118 | setup_menu_entry("SQL", "admin_sql", |
| 117 | 119 | "Enter raw SQL commands"); |
| 118 | 120 | setup_menu_entry("TH1", "admin_th1", |
| @@ -380,12 +382,14 @@ | ||
| 380 | 382 | } |
| 381 | 383 | login_verify_csrf_secret(); |
| 382 | 384 | db_multi_exec( |
| 383 | 385 | "REPLACE INTO user(uid,login,info,pw,cap,mtime) " |
| 384 | 386 | "VALUES(nullif(%d,0),%Q,%Q,%Q,%Q,now())", |
| 385 | - uid, P("login"), P("info"), zPw, zCap | |
| 387 | + uid, zLogin, P("info"), zPw, zCap | |
| 386 | 388 | ); |
| 389 | + admin_log( "Updated user [%q] with capabilities [%q].", | |
| 390 | + zLogin, zCap ); | |
| 387 | 391 | if( atoi(PD("all","0"))>0 ){ |
| 388 | 392 | Blob sql; |
| 389 | 393 | char *zErr = 0; |
| 390 | 394 | blob_zero(&sql); |
| 391 | 395 | if( zOldLogin==0 ){ |
| @@ -407,12 +411,16 @@ | ||
| 407 | 411 | zLogin, P("pw"), zLogin, P("info"), zCap, |
| 408 | 412 | zOldLogin |
| 409 | 413 | ); |
| 410 | 414 | login_group_sql(blob_str(&sql), "<li> ", " </li>\n", &zErr); |
| 411 | 415 | blob_reset(&sql); |
| 416 | + admin_log( "Updated user [%q] in all login groups " | |
| 417 | + "with capabilities [%q].", | |
| 418 | + zLogin, zCap ); | |
| 412 | 419 | if( zErr ){ |
| 413 | 420 | style_header("User Change Error"); |
| 421 | + admin_log( "Error updating user '%q': %s'.", zLogin, zErr ); | |
| 414 | 422 | @ <span class="loginError">%s(zErr)</span> |
| 415 | 423 | @ |
| 416 | 424 | @ <p><a href="setup_uedit?id=%d(uid)">[Bummer]</a></p> |
| 417 | 425 | style_footer(); |
| 418 | 426 | return; |
| @@ -862,10 +870,12 @@ | ||
| 862 | 870 | if( zQ ){ |
| 863 | 871 | int iQ = fossil_strcmp(zQ,"on")==0 || atoi(zQ); |
| 864 | 872 | if( iQ!=iVal ){ |
| 865 | 873 | login_verify_csrf_secret(); |
| 866 | 874 | db_set(zVar, iQ ? "1" : "0", 0); |
| 875 | + admin_log("Set option [%q] to [%q].", | |
| 876 | + zVar, iQ ? "on" : "off"); | |
| 867 | 877 | iVal = iQ; |
| 868 | 878 | } |
| 869 | 879 | } |
| 870 | 880 | @ <input type="checkbox" name="%s(zQParm)" |
| 871 | 881 | if( iVal ){ |
| @@ -889,12 +899,15 @@ | ||
| 889 | 899 | int disabled /* 1 if disabled */ |
| 890 | 900 | ){ |
| 891 | 901 | const char *zVal = db_get(zVar, zDflt); |
| 892 | 902 | const char *zQ = P(zQParm); |
| 893 | 903 | if( zQ && fossil_strcmp(zQ,zVal)!=0 ){ |
| 904 | + const int nZQ = (int)strlen(zQ); | |
| 894 | 905 | login_verify_csrf_secret(); |
| 895 | 906 | db_set(zVar, zQ, 0); |
| 907 | + admin_log("Set entry_attribute %Q to: %.*s%s", | |
| 908 | + zVar, 20, zQ, (nZQ>20 ? "..." : "")); | |
| 896 | 909 | zVal = zQ; |
| 897 | 910 | } |
| 898 | 911 | @ <input type="text" id="%s(zQParm)" name="%s(zQParm)" value="%h(zVal)" size="%d(width)" |
| 899 | 912 | if( disabled ){ |
| 900 | 913 | @ disabled="disabled" |
| @@ -915,12 +928,15 @@ | ||
| 915 | 928 | int disabled /* 1 if the textarea should not be editable */ |
| 916 | 929 | ){ |
| 917 | 930 | const char *z = db_get(zVar, (char*)zDflt); |
| 918 | 931 | const char *zQ = P(zQP); |
| 919 | 932 | if( zQ && !disabled && fossil_strcmp(zQ,z)!=0){ |
| 933 | + const int nZQ = (int)strlen(zQ); | |
| 920 | 934 | login_verify_csrf_secret(); |
| 921 | 935 | db_set(zVar, zQ, 0); |
| 936 | + admin_log("Set textarea_attribute %Q to: %.*s%s", | |
| 937 | + zVar, 20, zQ, (nZQ>20 ? "..." : "")); | |
| 922 | 938 | z = zQ; |
| 923 | 939 | } |
| 924 | 940 | if( rows>0 && cols>0 ){ |
| 925 | 941 | @ <textarea id="id%s(zQP)" name="%s(zQP)" rows="%d(rows)" |
| 926 | 942 | if( disabled ){ |
| @@ -946,12 +962,15 @@ | ||
| 946 | 962 | ){ |
| 947 | 963 | const char *z = db_get(zVar, (char*)zDflt); |
| 948 | 964 | const char *zQ = P(zQP); |
| 949 | 965 | int i; |
| 950 | 966 | if( zQ && fossil_strcmp(zQ,z)!=0){ |
| 967 | + const int nZQ = (int)strlen(zQ); | |
| 951 | 968 | login_verify_csrf_secret(); |
| 952 | 969 | db_set(zVar, zQ, 0); |
| 970 | + admin_log("Set multiple_choice_attribute %Q to: %.*s%s", | |
| 971 | + zVar, 20, zQ, (nZQ>20 ? "..." : "")); | |
| 953 | 972 | z = zQ; |
| 954 | 973 | } |
| 955 | 974 | @ <select size="1" name="%s(zQP)" id="id%s(zQP)"> |
| 956 | 975 | for(i=0; i<nChoice*2; i+=2){ |
| 957 | 976 | const char *zSel = fossil_strcmp(azChoice[i],z)==0 ? " selected" : ""; |
| @@ -2023,5 +2042,83 @@ | ||
| 2023 | 2042 | @ <pre class="th1error">%h(zR)</pre> |
| 2024 | 2043 | } |
| 2025 | 2044 | } |
| 2026 | 2045 | style_footer(); |
| 2027 | 2046 | } |
| 2047 | + | |
| 2048 | +static void admin_log_render_limits(){ | |
| 2049 | + int const count = db_int(0,"SELECT COUNT(*) FROM admin_log"); | |
| 2050 | + int i; | |
| 2051 | + int limits[] = { | |
| 2052 | + 10, 20, 50, 100, 250, 500, 0 | |
| 2053 | + }; | |
| 2054 | + for(i = 0; limits[i]; ++i ){ | |
| 2055 | + cgi_printf("%s<a href='?n=%d'>%d</a>", | |
| 2056 | + i ? " " : "", | |
| 2057 | + limits[i], limits[i]); | |
| 2058 | + if(limits[i]>count) break; | |
| 2059 | + } | |
| 2060 | +} | |
| 2061 | + | |
| 2062 | +/* | |
| 2063 | +** WEBPAGE: admin_log | |
| 2064 | +** | |
| 2065 | +** Shows the contents of the admin_log table, which is only created if | |
| 2066 | +** the admin-log setting is enabled. Requires Admin or Setup ('a' or | |
| 2067 | +** 's') permissions. | |
| 2068 | +*/ | |
| 2069 | +void page_admin_log(){ | |
| 2070 | + Stmt stLog = empty_Stmt; | |
| 2071 | + Blob qLog = empty_blob; | |
| 2072 | + int limit; | |
| 2073 | + int fLogEnabled; | |
| 2074 | + int counter = 0; | |
| 2075 | + login_check_credentials(); | |
| 2076 | + if( !g.perm.Setup && !g.perm.Admin ){ | |
| 2077 | + login_needed(); | |
| 2078 | + } | |
| 2079 | + style_header("Admin Log"); | |
| 2080 | + create_admin_log_table(); | |
| 2081 | + limit = atoi(PD("n","20")); | |
| 2082 | + fLogEnabled = db_get_boolean("admin-log", 0); | |
| 2083 | + @ <div>Admin logging is %s(fLogEnabled?"on":"off").</div> | |
| 2084 | + | |
| 2085 | + | |
| 2086 | + @ <div>Limit results to: <span> | |
| 2087 | + admin_log_render_limits(); | |
| 2088 | + @ </span></div> | |
| 2089 | + | |
| 2090 | + blob_append_sql(&qLog, | |
| 2091 | + "SELECT datetime(time,'unixepoch'), who, page, what " | |
| 2092 | + "FROM admin_log " | |
| 2093 | + "ORDER BY time DESC "); | |
| 2094 | + if(limit>0){ | |
| 2095 | + @ %d(limit) Most recent entries: | |
| 2096 | + blob_append_sql(&qLog, "LIMIT %d", limit); | |
| 2097 | + } | |
| 2098 | + db_prepare(&stLog, "%s", blob_sql_text(&qLog)); | |
| 2099 | + blob_reset(&qLog); | |
| 2100 | + @ <table id="adminLogTable" class="adminLogTable" width="100%%"> | |
| 2101 | + @ <thead> | |
| 2102 | + @ <th>Time</th> | |
| 2103 | + @ <th>User</th> | |
| 2104 | + @ <th>Page</th> | |
| 2105 | + @ <th width="60%%">Message</th> | |
| 2106 | + @ </thead><tbody> | |
| 2107 | + while( SQLITE_ROW == db_step(&stLog) ){ | |
| 2108 | + char const * zTime = db_column_text(&stLog, 0); | |
| 2109 | + char const * zUser = db_column_text(&stLog, 1); | |
| 2110 | + char const * zPage = db_column_text(&stLog, 2); | |
| 2111 | + char const * zMessage = db_column_text(&stLog, 3); | |
| 2112 | + @ <tr class="row%d(counter++%2)"> | |
| 2113 | + @ <td class="adminTime">%s(zTime)</td> | |
| 2114 | + @ <td>%s(zUser)</td> | |
| 2115 | + @ <td>%s(zPage)</td> | |
| 2116 | + @ <td>%h(zMessage)</td> | |
| 2117 | + @ </tr> | |
| 2118 | + } | |
| 2119 | + @ </tbody></table> | |
| 2120 | + if(limit>0 && counter<limit){ | |
| 2121 | + @ <div>%d(counter) entries shown.</div> | |
| 2122 | + } | |
| 2123 | + style_footer(); | |
| 2124 | +} | |
| 2028 | 2125 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -109,10 +109,12 @@ | |
| 109 | "Show artifacts that are shunned by this repository"); |
| 110 | setup_menu_entry("Log", "rcvfromlist", |
| 111 | "A record of received artifacts and their sources"); |
| 112 | setup_menu_entry("User-Log", "access_log", |
| 113 | "A record of login attempts"); |
| 114 | setup_menu_entry("Stats", "stat", |
| 115 | "Display repository statistics"); |
| 116 | setup_menu_entry("SQL", "admin_sql", |
| 117 | "Enter raw SQL commands"); |
| 118 | setup_menu_entry("TH1", "admin_th1", |
| @@ -380,12 +382,14 @@ | |
| 380 | } |
| 381 | login_verify_csrf_secret(); |
| 382 | db_multi_exec( |
| 383 | "REPLACE INTO user(uid,login,info,pw,cap,mtime) " |
| 384 | "VALUES(nullif(%d,0),%Q,%Q,%Q,%Q,now())", |
| 385 | uid, P("login"), P("info"), zPw, zCap |
| 386 | ); |
| 387 | if( atoi(PD("all","0"))>0 ){ |
| 388 | Blob sql; |
| 389 | char *zErr = 0; |
| 390 | blob_zero(&sql); |
| 391 | if( zOldLogin==0 ){ |
| @@ -407,12 +411,16 @@ | |
| 407 | zLogin, P("pw"), zLogin, P("info"), zCap, |
| 408 | zOldLogin |
| 409 | ); |
| 410 | login_group_sql(blob_str(&sql), "<li> ", " </li>\n", &zErr); |
| 411 | blob_reset(&sql); |
| 412 | if( zErr ){ |
| 413 | style_header("User Change Error"); |
| 414 | @ <span class="loginError">%s(zErr)</span> |
| 415 | @ |
| 416 | @ <p><a href="setup_uedit?id=%d(uid)">[Bummer]</a></p> |
| 417 | style_footer(); |
| 418 | return; |
| @@ -862,10 +870,12 @@ | |
| 862 | if( zQ ){ |
| 863 | int iQ = fossil_strcmp(zQ,"on")==0 || atoi(zQ); |
| 864 | if( iQ!=iVal ){ |
| 865 | login_verify_csrf_secret(); |
| 866 | db_set(zVar, iQ ? "1" : "0", 0); |
| 867 | iVal = iQ; |
| 868 | } |
| 869 | } |
| 870 | @ <input type="checkbox" name="%s(zQParm)" |
| 871 | if( iVal ){ |
| @@ -889,12 +899,15 @@ | |
| 889 | int disabled /* 1 if disabled */ |
| 890 | ){ |
| 891 | const char *zVal = db_get(zVar, zDflt); |
| 892 | const char *zQ = P(zQParm); |
| 893 | if( zQ && fossil_strcmp(zQ,zVal)!=0 ){ |
| 894 | login_verify_csrf_secret(); |
| 895 | db_set(zVar, zQ, 0); |
| 896 | zVal = zQ; |
| 897 | } |
| 898 | @ <input type="text" id="%s(zQParm)" name="%s(zQParm)" value="%h(zVal)" size="%d(width)" |
| 899 | if( disabled ){ |
| 900 | @ disabled="disabled" |
| @@ -915,12 +928,15 @@ | |
| 915 | int disabled /* 1 if the textarea should not be editable */ |
| 916 | ){ |
| 917 | const char *z = db_get(zVar, (char*)zDflt); |
| 918 | const char *zQ = P(zQP); |
| 919 | if( zQ && !disabled && fossil_strcmp(zQ,z)!=0){ |
| 920 | login_verify_csrf_secret(); |
| 921 | db_set(zVar, zQ, 0); |
| 922 | z = zQ; |
| 923 | } |
| 924 | if( rows>0 && cols>0 ){ |
| 925 | @ <textarea id="id%s(zQP)" name="%s(zQP)" rows="%d(rows)" |
| 926 | if( disabled ){ |
| @@ -946,12 +962,15 @@ | |
| 946 | ){ |
| 947 | const char *z = db_get(zVar, (char*)zDflt); |
| 948 | const char *zQ = P(zQP); |
| 949 | int i; |
| 950 | if( zQ && fossil_strcmp(zQ,z)!=0){ |
| 951 | login_verify_csrf_secret(); |
| 952 | db_set(zVar, zQ, 0); |
| 953 | z = zQ; |
| 954 | } |
| 955 | @ <select size="1" name="%s(zQP)" id="id%s(zQP)"> |
| 956 | for(i=0; i<nChoice*2; i+=2){ |
| 957 | const char *zSel = fossil_strcmp(azChoice[i],z)==0 ? " selected" : ""; |
| @@ -2023,5 +2042,83 @@ | |
| 2023 | @ <pre class="th1error">%h(zR)</pre> |
| 2024 | } |
| 2025 | } |
| 2026 | style_footer(); |
| 2027 | } |
| 2028 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -109,10 +109,12 @@ | |
| 109 | "Show artifacts that are shunned by this repository"); |
| 110 | setup_menu_entry("Log", "rcvfromlist", |
| 111 | "A record of received artifacts and their sources"); |
| 112 | setup_menu_entry("User-Log", "access_log", |
| 113 | "A record of login attempts"); |
| 114 | setup_menu_entry("Admin-Log", "admin_log", |
| 115 | "View the admin_log entries"); |
| 116 | setup_menu_entry("Stats", "stat", |
| 117 | "Display repository statistics"); |
| 118 | setup_menu_entry("SQL", "admin_sql", |
| 119 | "Enter raw SQL commands"); |
| 120 | setup_menu_entry("TH1", "admin_th1", |
| @@ -380,12 +382,14 @@ | |
| 382 | } |
| 383 | login_verify_csrf_secret(); |
| 384 | db_multi_exec( |
| 385 | "REPLACE INTO user(uid,login,info,pw,cap,mtime) " |
| 386 | "VALUES(nullif(%d,0),%Q,%Q,%Q,%Q,now())", |
| 387 | uid, zLogin, P("info"), zPw, zCap |
| 388 | ); |
| 389 | admin_log( "Updated user [%q] with capabilities [%q].", |
| 390 | zLogin, zCap ); |
| 391 | if( atoi(PD("all","0"))>0 ){ |
| 392 | Blob sql; |
| 393 | char *zErr = 0; |
| 394 | blob_zero(&sql); |
| 395 | if( zOldLogin==0 ){ |
| @@ -407,12 +411,16 @@ | |
| 411 | zLogin, P("pw"), zLogin, P("info"), zCap, |
| 412 | zOldLogin |
| 413 | ); |
| 414 | login_group_sql(blob_str(&sql), "<li> ", " </li>\n", &zErr); |
| 415 | blob_reset(&sql); |
| 416 | admin_log( "Updated user [%q] in all login groups " |
| 417 | "with capabilities [%q].", |
| 418 | zLogin, zCap ); |
| 419 | if( zErr ){ |
| 420 | style_header("User Change Error"); |
| 421 | admin_log( "Error updating user '%q': %s'.", zLogin, zErr ); |
| 422 | @ <span class="loginError">%s(zErr)</span> |
| 423 | @ |
| 424 | @ <p><a href="setup_uedit?id=%d(uid)">[Bummer]</a></p> |
| 425 | style_footer(); |
| 426 | return; |
| @@ -862,10 +870,12 @@ | |
| 870 | if( zQ ){ |
| 871 | int iQ = fossil_strcmp(zQ,"on")==0 || atoi(zQ); |
| 872 | if( iQ!=iVal ){ |
| 873 | login_verify_csrf_secret(); |
| 874 | db_set(zVar, iQ ? "1" : "0", 0); |
| 875 | admin_log("Set option [%q] to [%q].", |
| 876 | zVar, iQ ? "on" : "off"); |
| 877 | iVal = iQ; |
| 878 | } |
| 879 | } |
| 880 | @ <input type="checkbox" name="%s(zQParm)" |
| 881 | if( iVal ){ |
| @@ -889,12 +899,15 @@ | |
| 899 | int disabled /* 1 if disabled */ |
| 900 | ){ |
| 901 | const char *zVal = db_get(zVar, zDflt); |
| 902 | const char *zQ = P(zQParm); |
| 903 | if( zQ && fossil_strcmp(zQ,zVal)!=0 ){ |
| 904 | const int nZQ = (int)strlen(zQ); |
| 905 | login_verify_csrf_secret(); |
| 906 | db_set(zVar, zQ, 0); |
| 907 | admin_log("Set entry_attribute %Q to: %.*s%s", |
| 908 | zVar, 20, zQ, (nZQ>20 ? "..." : "")); |
| 909 | zVal = zQ; |
| 910 | } |
| 911 | @ <input type="text" id="%s(zQParm)" name="%s(zQParm)" value="%h(zVal)" size="%d(width)" |
| 912 | if( disabled ){ |
| 913 | @ disabled="disabled" |
| @@ -915,12 +928,15 @@ | |
| 928 | int disabled /* 1 if the textarea should not be editable */ |
| 929 | ){ |
| 930 | const char *z = db_get(zVar, (char*)zDflt); |
| 931 | const char *zQ = P(zQP); |
| 932 | if( zQ && !disabled && fossil_strcmp(zQ,z)!=0){ |
| 933 | const int nZQ = (int)strlen(zQ); |
| 934 | login_verify_csrf_secret(); |
| 935 | db_set(zVar, zQ, 0); |
| 936 | admin_log("Set textarea_attribute %Q to: %.*s%s", |
| 937 | zVar, 20, zQ, (nZQ>20 ? "..." : "")); |
| 938 | z = zQ; |
| 939 | } |
| 940 | if( rows>0 && cols>0 ){ |
| 941 | @ <textarea id="id%s(zQP)" name="%s(zQP)" rows="%d(rows)" |
| 942 | if( disabled ){ |
| @@ -946,12 +962,15 @@ | |
| 962 | ){ |
| 963 | const char *z = db_get(zVar, (char*)zDflt); |
| 964 | const char *zQ = P(zQP); |
| 965 | int i; |
| 966 | if( zQ && fossil_strcmp(zQ,z)!=0){ |
| 967 | const int nZQ = (int)strlen(zQ); |
| 968 | login_verify_csrf_secret(); |
| 969 | db_set(zVar, zQ, 0); |
| 970 | admin_log("Set multiple_choice_attribute %Q to: %.*s%s", |
| 971 | zVar, 20, zQ, (nZQ>20 ? "..." : "")); |
| 972 | z = zQ; |
| 973 | } |
| 974 | @ <select size="1" name="%s(zQP)" id="id%s(zQP)"> |
| 975 | for(i=0; i<nChoice*2; i+=2){ |
| 976 | const char *zSel = fossil_strcmp(azChoice[i],z)==0 ? " selected" : ""; |
| @@ -2023,5 +2042,83 @@ | |
| 2042 | @ <pre class="th1error">%h(zR)</pre> |
| 2043 | } |
| 2044 | } |
| 2045 | style_footer(); |
| 2046 | } |
| 2047 | |
| 2048 | static void admin_log_render_limits(){ |
| 2049 | int const count = db_int(0,"SELECT COUNT(*) FROM admin_log"); |
| 2050 | int i; |
| 2051 | int limits[] = { |
| 2052 | 10, 20, 50, 100, 250, 500, 0 |
| 2053 | }; |
| 2054 | for(i = 0; limits[i]; ++i ){ |
| 2055 | cgi_printf("%s<a href='?n=%d'>%d</a>", |
| 2056 | i ? " " : "", |
| 2057 | limits[i], limits[i]); |
| 2058 | if(limits[i]>count) break; |
| 2059 | } |
| 2060 | } |
| 2061 | |
| 2062 | /* |
| 2063 | ** WEBPAGE: admin_log |
| 2064 | ** |
| 2065 | ** Shows the contents of the admin_log table, which is only created if |
| 2066 | ** the admin-log setting is enabled. Requires Admin or Setup ('a' or |
| 2067 | ** 's') permissions. |
| 2068 | */ |
| 2069 | void page_admin_log(){ |
| 2070 | Stmt stLog = empty_Stmt; |
| 2071 | Blob qLog = empty_blob; |
| 2072 | int limit; |
| 2073 | int fLogEnabled; |
| 2074 | int counter = 0; |
| 2075 | login_check_credentials(); |
| 2076 | if( !g.perm.Setup && !g.perm.Admin ){ |
| 2077 | login_needed(); |
| 2078 | } |
| 2079 | style_header("Admin Log"); |
| 2080 | create_admin_log_table(); |
| 2081 | limit = atoi(PD("n","20")); |
| 2082 | fLogEnabled = db_get_boolean("admin-log", 0); |
| 2083 | @ <div>Admin logging is %s(fLogEnabled?"on":"off").</div> |
| 2084 | |
| 2085 | |
| 2086 | @ <div>Limit results to: <span> |
| 2087 | admin_log_render_limits(); |
| 2088 | @ </span></div> |
| 2089 | |
| 2090 | blob_append_sql(&qLog, |
| 2091 | "SELECT datetime(time,'unixepoch'), who, page, what " |
| 2092 | "FROM admin_log " |
| 2093 | "ORDER BY time DESC "); |
| 2094 | if(limit>0){ |
| 2095 | @ %d(limit) Most recent entries: |
| 2096 | blob_append_sql(&qLog, "LIMIT %d", limit); |
| 2097 | } |
| 2098 | db_prepare(&stLog, "%s", blob_sql_text(&qLog)); |
| 2099 | blob_reset(&qLog); |
| 2100 | @ <table id="adminLogTable" class="adminLogTable" width="100%%"> |
| 2101 | @ <thead> |
| 2102 | @ <th>Time</th> |
| 2103 | @ <th>User</th> |
| 2104 | @ <th>Page</th> |
| 2105 | @ <th width="60%%">Message</th> |
| 2106 | @ </thead><tbody> |
| 2107 | while( SQLITE_ROW == db_step(&stLog) ){ |
| 2108 | char const * zTime = db_column_text(&stLog, 0); |
| 2109 | char const * zUser = db_column_text(&stLog, 1); |
| 2110 | char const * zPage = db_column_text(&stLog, 2); |
| 2111 | char const * zMessage = db_column_text(&stLog, 3); |
| 2112 | @ <tr class="row%d(counter++%2)"> |
| 2113 | @ <td class="adminTime">%s(zTime)</td> |
| 2114 | @ <td>%s(zUser)</td> |
| 2115 | @ <td>%s(zPage)</td> |
| 2116 | @ <td>%h(zMessage)</td> |
| 2117 | @ </tr> |
| 2118 | } |
| 2119 | @ </tbody></table> |
| 2120 | if(limit>0 && counter<limit){ |
| 2121 | @ <div>%d(counter) entries shown.</div> |
| 2122 | } |
| 2123 | style_footer(); |
| 2124 | } |
| 2125 |
+3
| --- src/shun.c | ||
| +++ src/shun.c | ||
| @@ -56,10 +56,11 @@ | ||
| 56 | 56 | if( P("rebuild") ){ |
| 57 | 57 | db_close(1); |
| 58 | 58 | db_open_repository(g.zRepositoryName); |
| 59 | 59 | db_begin_transaction(); |
| 60 | 60 | rebuild_db(0, 0, 0); |
| 61 | + admin_log("Rebuilt database."); | |
| 61 | 62 | db_end_transaction(0); |
| 62 | 63 | } |
| 63 | 64 | if( zUuid ){ |
| 64 | 65 | char *p; |
| 65 | 66 | int i = 0; |
| @@ -101,10 +102,11 @@ | ||
| 101 | 102 | while( *p ){ |
| 102 | 103 | db_multi_exec("DELETE FROM shun WHERE uuid=%Q", p); |
| 103 | 104 | if( !db_exists("SELECT 1 FROM blob WHERE uuid=%Q", p) ){ |
| 104 | 105 | allExist = 0; |
| 105 | 106 | } |
| 107 | + admin_log("Unshunned %Q", p); | |
| 106 | 108 | p += UUID_SIZE+1; |
| 107 | 109 | } |
| 108 | 110 | if( allExist ){ |
| 109 | 111 | @ <p class="noMoreShun">Artifact(s)<br /> |
| 110 | 112 | for( p = zUuid ; *p ; p += UUID_SIZE+1 ){ |
| @@ -139,10 +141,11 @@ | ||
| 139 | 141 | if( tagid ){ |
| 140 | 142 | db_multi_exec("DELETE FROM ticket WHERE tkt_uuid=%Q", p); |
| 141 | 143 | db_multi_exec("DELETE FROM tag WHERE tagid=%d", tagid); |
| 142 | 144 | db_multi_exec("DELETE FROM tagxref WHERE tagid=%d", tagid); |
| 143 | 145 | } |
| 146 | + admin_log("Shunned %Q", p); | |
| 144 | 147 | p += UUID_SIZE+1; |
| 145 | 148 | } |
| 146 | 149 | @ <p class="shunned">Artifact(s)<br /> |
| 147 | 150 | for( p = zUuid ; *p ; p += UUID_SIZE+1 ){ |
| 148 | 151 | @ <a href="%s(g.zTop)/artifact/%s(p)">%s(p)</a><br /> |
| 149 | 152 |
| --- src/shun.c | |
| +++ src/shun.c | |
| @@ -56,10 +56,11 @@ | |
| 56 | if( P("rebuild") ){ |
| 57 | db_close(1); |
| 58 | db_open_repository(g.zRepositoryName); |
| 59 | db_begin_transaction(); |
| 60 | rebuild_db(0, 0, 0); |
| 61 | db_end_transaction(0); |
| 62 | } |
| 63 | if( zUuid ){ |
| 64 | char *p; |
| 65 | int i = 0; |
| @@ -101,10 +102,11 @@ | |
| 101 | while( *p ){ |
| 102 | db_multi_exec("DELETE FROM shun WHERE uuid=%Q", p); |
| 103 | if( !db_exists("SELECT 1 FROM blob WHERE uuid=%Q", p) ){ |
| 104 | allExist = 0; |
| 105 | } |
| 106 | p += UUID_SIZE+1; |
| 107 | } |
| 108 | if( allExist ){ |
| 109 | @ <p class="noMoreShun">Artifact(s)<br /> |
| 110 | for( p = zUuid ; *p ; p += UUID_SIZE+1 ){ |
| @@ -139,10 +141,11 @@ | |
| 139 | if( tagid ){ |
| 140 | db_multi_exec("DELETE FROM ticket WHERE tkt_uuid=%Q", p); |
| 141 | db_multi_exec("DELETE FROM tag WHERE tagid=%d", tagid); |
| 142 | db_multi_exec("DELETE FROM tagxref WHERE tagid=%d", tagid); |
| 143 | } |
| 144 | p += UUID_SIZE+1; |
| 145 | } |
| 146 | @ <p class="shunned">Artifact(s)<br /> |
| 147 | for( p = zUuid ; *p ; p += UUID_SIZE+1 ){ |
| 148 | @ <a href="%s(g.zTop)/artifact/%s(p)">%s(p)</a><br /> |
| 149 |
| --- src/shun.c | |
| +++ src/shun.c | |
| @@ -56,10 +56,11 @@ | |
| 56 | if( P("rebuild") ){ |
| 57 | db_close(1); |
| 58 | db_open_repository(g.zRepositoryName); |
| 59 | db_begin_transaction(); |
| 60 | rebuild_db(0, 0, 0); |
| 61 | admin_log("Rebuilt database."); |
| 62 | db_end_transaction(0); |
| 63 | } |
| 64 | if( zUuid ){ |
| 65 | char *p; |
| 66 | int i = 0; |
| @@ -101,10 +102,11 @@ | |
| 102 | while( *p ){ |
| 103 | db_multi_exec("DELETE FROM shun WHERE uuid=%Q", p); |
| 104 | if( !db_exists("SELECT 1 FROM blob WHERE uuid=%Q", p) ){ |
| 105 | allExist = 0; |
| 106 | } |
| 107 | admin_log("Unshunned %Q", p); |
| 108 | p += UUID_SIZE+1; |
| 109 | } |
| 110 | if( allExist ){ |
| 111 | @ <p class="noMoreShun">Artifact(s)<br /> |
| 112 | for( p = zUuid ; *p ; p += UUID_SIZE+1 ){ |
| @@ -139,10 +141,11 @@ | |
| 141 | if( tagid ){ |
| 142 | db_multi_exec("DELETE FROM ticket WHERE tkt_uuid=%Q", p); |
| 143 | db_multi_exec("DELETE FROM tag WHERE tagid=%d", tagid); |
| 144 | db_multi_exec("DELETE FROM tagxref WHERE tagid=%d", tagid); |
| 145 | } |
| 146 | admin_log("Shunned %Q", p); |
| 147 | p += UUID_SIZE+1; |
| 148 | } |
| 149 | @ <p class="shunned">Artifact(s)<br /> |
| 150 | for( p = zUuid ; *p ; p += UUID_SIZE+1 ){ |
| 151 | @ <a href="%s(g.zTop)/artifact/%s(p)">%s(p)</a><br /> |
| 152 |
+2
| --- src/sqlcmd.c | ||
| +++ src/sqlcmd.c | ||
| @@ -132,10 +132,12 @@ | ||
| 132 | 132 | const char **pzErrMsg, |
| 133 | 133 | const void *notUsed |
| 134 | 134 | ){ |
| 135 | 135 | add_content_sql_commands(db); |
| 136 | 136 | re_add_sql_func(db); |
| 137 | + g.zMainDbType = "repository"; | |
| 138 | + foci_register(db); | |
| 137 | 139 | g.repositoryOpen = 1; |
| 138 | 140 | g.db = db; |
| 139 | 141 | return SQLITE_OK; |
| 140 | 142 | } |
| 141 | 143 | |
| 142 | 144 |
| --- src/sqlcmd.c | |
| +++ src/sqlcmd.c | |
| @@ -132,10 +132,12 @@ | |
| 132 | const char **pzErrMsg, |
| 133 | const void *notUsed |
| 134 | ){ |
| 135 | add_content_sql_commands(db); |
| 136 | re_add_sql_func(db); |
| 137 | g.repositoryOpen = 1; |
| 138 | g.db = db; |
| 139 | return SQLITE_OK; |
| 140 | } |
| 141 | |
| 142 |
| --- src/sqlcmd.c | |
| +++ src/sqlcmd.c | |
| @@ -132,10 +132,12 @@ | |
| 132 | const char **pzErrMsg, |
| 133 | const void *notUsed |
| 134 | ){ |
| 135 | add_content_sql_commands(db); |
| 136 | re_add_sql_func(db); |
| 137 | g.zMainDbType = "repository"; |
| 138 | foci_register(db); |
| 139 | g.repositoryOpen = 1; |
| 140 | g.db = db; |
| 141 | return SQLITE_OK; |
| 142 | } |
| 143 | |
| 144 |
+2
| --- src/sqlcmd.c | ||
| +++ src/sqlcmd.c | ||
| @@ -132,10 +132,12 @@ | ||
| 132 | 132 | const char **pzErrMsg, |
| 133 | 133 | const void *notUsed |
| 134 | 134 | ){ |
| 135 | 135 | add_content_sql_commands(db); |
| 136 | 136 | re_add_sql_func(db); |
| 137 | + g.zMainDbType = "repository"; | |
| 138 | + foci_register(db); | |
| 137 | 139 | g.repositoryOpen = 1; |
| 138 | 140 | g.db = db; |
| 139 | 141 | return SQLITE_OK; |
| 140 | 142 | } |
| 141 | 143 | |
| 142 | 144 |
| --- src/sqlcmd.c | |
| +++ src/sqlcmd.c | |
| @@ -132,10 +132,12 @@ | |
| 132 | const char **pzErrMsg, |
| 133 | const void *notUsed |
| 134 | ){ |
| 135 | add_content_sql_commands(db); |
| 136 | re_add_sql_func(db); |
| 137 | g.repositoryOpen = 1; |
| 138 | g.db = db; |
| 139 | return SQLITE_OK; |
| 140 | } |
| 141 | |
| 142 |
| --- src/sqlcmd.c | |
| +++ src/sqlcmd.c | |
| @@ -132,10 +132,12 @@ | |
| 132 | const char **pzErrMsg, |
| 133 | const void *notUsed |
| 134 | ){ |
| 135 | add_content_sql_commands(db); |
| 136 | re_add_sql_func(db); |
| 137 | g.zMainDbType = "repository"; |
| 138 | foci_register(db); |
| 139 | g.repositoryOpen = 1; |
| 140 | g.db = db; |
| 141 | return SQLITE_OK; |
| 142 | } |
| 143 | |
| 144 |
+10
| --- src/style.c | ||
| +++ src/style.c | ||
| @@ -1208,10 +1208,20 @@ | ||
| 1208 | 1208 | @ font-weight: bold; |
| 1209 | 1209 | }, |
| 1210 | 1210 | { "#canvas", "timeline graph node colors", |
| 1211 | 1211 | @ color: black; |
| 1212 | 1212 | @ background-color: white; |
| 1213 | + }, | |
| 1214 | + { "table.adminLogTable", | |
| 1215 | + "Class for the /admin_log table", | |
| 1216 | + @ text-align: left | |
| 1217 | + }, | |
| 1218 | + { ".adminLogTable .adminTime", | |
| 1219 | + "Class for the /admin_log table", | |
| 1220 | + @ text-align: left | |
| 1221 | + @ vertical-align: top; | |
| 1222 | + @ white-space: nowrap; | |
| 1213 | 1223 | }, |
| 1214 | 1224 | { 0, |
| 1215 | 1225 | 0, |
| 1216 | 1226 | 0 |
| 1217 | 1227 | } |
| 1218 | 1228 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -1208,10 +1208,20 @@ | |
| 1208 | @ font-weight: bold; |
| 1209 | }, |
| 1210 | { "#canvas", "timeline graph node colors", |
| 1211 | @ color: black; |
| 1212 | @ background-color: white; |
| 1213 | }, |
| 1214 | { 0, |
| 1215 | 0, |
| 1216 | 0 |
| 1217 | } |
| 1218 |
| --- src/style.c | |
| +++ src/style.c | |
| @@ -1208,10 +1208,20 @@ | |
| 1208 | @ font-weight: bold; |
| 1209 | }, |
| 1210 | { "#canvas", "timeline graph node colors", |
| 1211 | @ color: black; |
| 1212 | @ background-color: white; |
| 1213 | }, |
| 1214 | { "table.adminLogTable", |
| 1215 | "Class for the /admin_log table", |
| 1216 | @ text-align: left |
| 1217 | }, |
| 1218 | { ".adminLogTable .adminTime", |
| 1219 | "Class for the /admin_log table", |
| 1220 | @ text-align: left |
| 1221 | @ vertical-align: top; |
| 1222 | @ white-space: nowrap; |
| 1223 | }, |
| 1224 | { 0, |
| 1225 | 0, |
| 1226 | 0 |
| 1227 | } |
| 1228 |
+10
-4
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -28,13 +28,13 @@ | ||
| 28 | 28 | |
| 29 | 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
| 30 | 30 | |
| 31 | 31 | SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | 32 | |
| 33 | -SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 33 | +SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 34 | 34 | |
| 35 | -OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 35 | +OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | RC=$(DMDIR)\bin\rcc |
| 39 | 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | 40 | |
| @@ -49,11 +49,11 @@ | ||
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | 52 | |
| 53 | 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | - +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 54 | + +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo foci fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 55 | 55 | +echo fossil >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| 57 | 57 | +echo $(LIBS) >> $@ |
| 58 | 58 | +echo. >> $@ |
| 59 | 59 | +echo fossil >> $@ |
| @@ -314,10 +314,16 @@ | ||
| 314 | 314 | $(OBJDIR)\finfo$O : finfo_.c finfo.h |
| 315 | 315 | $(TCC) -o$@ -c finfo_.c |
| 316 | 316 | |
| 317 | 317 | finfo_.c : $(SRCDIR)\finfo.c |
| 318 | 318 | +translate$E $** > $@ |
| 319 | + | |
| 320 | +$(OBJDIR)\foci$O : foci_.c foci.h | |
| 321 | + $(TCC) -o$@ -c foci_.c | |
| 322 | + | |
| 323 | +foci_.c : $(SRCDIR)\foci.c | |
| 324 | + +translate$E $** > $@ | |
| 319 | 325 | |
| 320 | 326 | $(OBJDIR)\fusefs$O : fusefs_.c fusefs.h |
| 321 | 327 | $(TCC) -o$@ -c fusefs_.c |
| 322 | 328 | |
| 323 | 329 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -814,7 +820,7 @@ | ||
| 814 | 820 | |
| 815 | 821 | zip_.c : $(SRCDIR)\zip.c |
| 816 | 822 | +translate$E $** > $@ |
| 817 | 823 | |
| 818 | 824 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 819 | - +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 825 | + +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 820 | 826 | @copy /Y nul: headers |
| 821 | 827 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
| 30 | |
| 31 | SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -314,10 +314,16 @@ | |
| 314 | $(OBJDIR)\finfo$O : finfo_.c finfo.h |
| 315 | $(TCC) -o$@ -c finfo_.c |
| 316 | |
| 317 | finfo_.c : $(SRCDIR)\finfo.c |
| 318 | +translate$E $** > $@ |
| 319 | |
| 320 | $(OBJDIR)\fusefs$O : fusefs_.c fusefs.h |
| 321 | $(TCC) -o$@ -c fusefs_.c |
| 322 | |
| 323 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -814,7 +820,7 @@ | |
| 814 | |
| 815 | zip_.c : $(SRCDIR)\zip.c |
| 816 | +translate$E $** > $@ |
| 817 | |
| 818 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 819 | +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 820 | @copy /Y nul: headers |
| 821 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
| 30 | |
| 31 | SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo foci fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -314,10 +314,16 @@ | |
| 314 | $(OBJDIR)\finfo$O : finfo_.c finfo.h |
| 315 | $(TCC) -o$@ -c finfo_.c |
| 316 | |
| 317 | finfo_.c : $(SRCDIR)\finfo.c |
| 318 | +translate$E $** > $@ |
| 319 | |
| 320 | $(OBJDIR)\foci$O : foci_.c foci.h |
| 321 | $(TCC) -o$@ -c foci_.c |
| 322 | |
| 323 | foci_.c : $(SRCDIR)\foci.c |
| 324 | +translate$E $** > $@ |
| 325 | |
| 326 | $(OBJDIR)\fusefs$O : fusefs_.c fusefs.h |
| 327 | $(TCC) -o$@ -c fusefs_.c |
| 328 | |
| 329 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -814,7 +820,7 @@ | |
| 820 | |
| 821 | zip_.c : $(SRCDIR)\zip.c |
| 822 | +translate$E $** > $@ |
| 823 | |
| 824 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 825 | +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 826 | @copy /Y nul: headers |
| 827 |
+10
-4
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -28,13 +28,13 @@ | ||
| 28 | 28 | |
| 29 | 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
| 30 | 30 | |
| 31 | 31 | SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | 32 | |
| 33 | -SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 33 | +SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 34 | 34 | |
| 35 | -OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 35 | +OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | RC=$(DMDIR)\bin\rcc |
| 39 | 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | 40 | |
| @@ -49,11 +49,11 @@ | ||
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | 52 | |
| 53 | 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | - +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 54 | + +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo foci fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 55 | 55 | +echo fossil >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| 57 | 57 | +echo $(LIBS) >> $@ |
| 58 | 58 | +echo. >> $@ |
| 59 | 59 | +echo fossil >> $@ |
| @@ -314,10 +314,16 @@ | ||
| 314 | 314 | $(OBJDIR)\finfo$O : finfo_.c finfo.h |
| 315 | 315 | $(TCC) -o$@ -c finfo_.c |
| 316 | 316 | |
| 317 | 317 | finfo_.c : $(SRCDIR)\finfo.c |
| 318 | 318 | +translate$E $** > $@ |
| 319 | + | |
| 320 | +$(OBJDIR)\foci$O : foci_.c foci.h | |
| 321 | + $(TCC) -o$@ -c foci_.c | |
| 322 | + | |
| 323 | +foci_.c : $(SRCDIR)\foci.c | |
| 324 | + +translate$E $** > $@ | |
| 319 | 325 | |
| 320 | 326 | $(OBJDIR)\fusefs$O : fusefs_.c fusefs.h |
| 321 | 327 | $(TCC) -o$@ -c fusefs_.c |
| 322 | 328 | |
| 323 | 329 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -814,7 +820,7 @@ | ||
| 814 | 820 | |
| 815 | 821 | zip_.c : $(SRCDIR)\zip.c |
| 816 | 822 | +translate$E $** > $@ |
| 817 | 823 | |
| 818 | 824 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 819 | - +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 825 | + +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 820 | 826 | @copy /Y nul: headers |
| 821 | 827 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
| 30 | |
| 31 | SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -314,10 +314,16 @@ | |
| 314 | $(OBJDIR)\finfo$O : finfo_.c finfo.h |
| 315 | $(TCC) -o$@ -c finfo_.c |
| 316 | |
| 317 | finfo_.c : $(SRCDIR)\finfo.c |
| 318 | +translate$E $** > $@ |
| 319 | |
| 320 | $(OBJDIR)\fusefs$O : fusefs_.c fusefs.h |
| 321 | $(TCC) -o$@ -c fusefs_.c |
| 322 | |
| 323 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -814,7 +820,7 @@ | |
| 814 | |
| 815 | zip_.c : $(SRCDIR)\zip.c |
| 816 | +translate$E $** > $@ |
| 817 | |
| 818 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 819 | +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 820 | @copy /Y nul: headers |
| 821 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS |
| 30 | |
| 31 | SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fusefs_.c glob_.c graph_.c gzip_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\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)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo foci fusefs glob graph gzip http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag tar th_main timeline tkt tktsetup undo unicode update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -314,10 +314,16 @@ | |
| 314 | $(OBJDIR)\finfo$O : finfo_.c finfo.h |
| 315 | $(TCC) -o$@ -c finfo_.c |
| 316 | |
| 317 | finfo_.c : $(SRCDIR)\finfo.c |
| 318 | +translate$E $** > $@ |
| 319 | |
| 320 | $(OBJDIR)\foci$O : foci_.c foci.h |
| 321 | $(TCC) -o$@ -c foci_.c |
| 322 | |
| 323 | foci_.c : $(SRCDIR)\foci.c |
| 324 | +translate$E $** > $@ |
| 325 | |
| 326 | $(OBJDIR)\fusefs$O : fusefs_.c fusefs.h |
| 327 | $(TCC) -o$@ -c fusefs_.c |
| 328 | |
| 329 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -814,7 +820,7 @@ | |
| 820 | |
| 821 | zip_.c : $(SRCDIR)\zip.c |
| 822 | +translate$E $** > $@ |
| 823 | |
| 824 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 825 | +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h 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 report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h 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 wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 826 | @copy /Y nul: headers |
| 827 |
+12
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -375,10 +375,11 @@ | ||
| 375 | 375 | $(SRCDIR)/encode.c \ |
| 376 | 376 | $(SRCDIR)/event.c \ |
| 377 | 377 | $(SRCDIR)/export.c \ |
| 378 | 378 | $(SRCDIR)/file.c \ |
| 379 | 379 | $(SRCDIR)/finfo.c \ |
| 380 | + $(SRCDIR)/foci.c \ | |
| 380 | 381 | $(SRCDIR)/fusefs.c \ |
| 381 | 382 | $(SRCDIR)/glob.c \ |
| 382 | 383 | $(SRCDIR)/graph.c \ |
| 383 | 384 | $(SRCDIR)/gzip.c \ |
| 384 | 385 | $(SRCDIR)/http.c \ |
| @@ -495,10 +496,11 @@ | ||
| 495 | 496 | $(OBJDIR)/encode_.c \ |
| 496 | 497 | $(OBJDIR)/event_.c \ |
| 497 | 498 | $(OBJDIR)/export_.c \ |
| 498 | 499 | $(OBJDIR)/file_.c \ |
| 499 | 500 | $(OBJDIR)/finfo_.c \ |
| 501 | + $(OBJDIR)/foci_.c \ | |
| 500 | 502 | $(OBJDIR)/fusefs_.c \ |
| 501 | 503 | $(OBJDIR)/glob_.c \ |
| 502 | 504 | $(OBJDIR)/graph_.c \ |
| 503 | 505 | $(OBJDIR)/gzip_.c \ |
| 504 | 506 | $(OBJDIR)/http_.c \ |
| @@ -612,10 +614,11 @@ | ||
| 612 | 614 | $(OBJDIR)/encode.o \ |
| 613 | 615 | $(OBJDIR)/event.o \ |
| 614 | 616 | $(OBJDIR)/export.o \ |
| 615 | 617 | $(OBJDIR)/file.o \ |
| 616 | 618 | $(OBJDIR)/finfo.o \ |
| 619 | + $(OBJDIR)/foci.o \ | |
| 617 | 620 | $(OBJDIR)/fusefs.o \ |
| 618 | 621 | $(OBJDIR)/glob.o \ |
| 619 | 622 | $(OBJDIR)/graph.o \ |
| 620 | 623 | $(OBJDIR)/gzip.o \ |
| 621 | 624 | $(OBJDIR)/http.o \ |
| @@ -922,10 +925,11 @@ | ||
| 922 | 925 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 923 | 926 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 924 | 927 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 925 | 928 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 926 | 929 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 930 | + $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ | |
| 927 | 931 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 928 | 932 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 929 | 933 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 930 | 934 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 931 | 935 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -1269,10 +1273,18 @@ | ||
| 1269 | 1273 | |
| 1270 | 1274 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 1271 | 1275 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 1272 | 1276 | |
| 1273 | 1277 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 1278 | + | |
| 1279 | +$(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(TRANSLATE) | |
| 1280 | + $(TRANSLATE) $(SRCDIR)/foci.c >$@ | |
| 1281 | + | |
| 1282 | +$(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h | |
| 1283 | + $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c | |
| 1284 | + | |
| 1285 | +$(OBJDIR)/foci.h: $(OBJDIR)/headers | |
| 1274 | 1286 | |
| 1275 | 1287 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(TRANSLATE) |
| 1276 | 1288 | $(TRANSLATE) $(SRCDIR)/fusefs.c >$@ |
| 1277 | 1289 | |
| 1278 | 1290 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 1279 | 1291 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -375,10 +375,11 @@ | |
| 375 | $(SRCDIR)/encode.c \ |
| 376 | $(SRCDIR)/event.c \ |
| 377 | $(SRCDIR)/export.c \ |
| 378 | $(SRCDIR)/file.c \ |
| 379 | $(SRCDIR)/finfo.c \ |
| 380 | $(SRCDIR)/fusefs.c \ |
| 381 | $(SRCDIR)/glob.c \ |
| 382 | $(SRCDIR)/graph.c \ |
| 383 | $(SRCDIR)/gzip.c \ |
| 384 | $(SRCDIR)/http.c \ |
| @@ -495,10 +496,11 @@ | |
| 495 | $(OBJDIR)/encode_.c \ |
| 496 | $(OBJDIR)/event_.c \ |
| 497 | $(OBJDIR)/export_.c \ |
| 498 | $(OBJDIR)/file_.c \ |
| 499 | $(OBJDIR)/finfo_.c \ |
| 500 | $(OBJDIR)/fusefs_.c \ |
| 501 | $(OBJDIR)/glob_.c \ |
| 502 | $(OBJDIR)/graph_.c \ |
| 503 | $(OBJDIR)/gzip_.c \ |
| 504 | $(OBJDIR)/http_.c \ |
| @@ -612,10 +614,11 @@ | |
| 612 | $(OBJDIR)/encode.o \ |
| 613 | $(OBJDIR)/event.o \ |
| 614 | $(OBJDIR)/export.o \ |
| 615 | $(OBJDIR)/file.o \ |
| 616 | $(OBJDIR)/finfo.o \ |
| 617 | $(OBJDIR)/fusefs.o \ |
| 618 | $(OBJDIR)/glob.o \ |
| 619 | $(OBJDIR)/graph.o \ |
| 620 | $(OBJDIR)/gzip.o \ |
| 621 | $(OBJDIR)/http.o \ |
| @@ -922,10 +925,11 @@ | |
| 922 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 923 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 924 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 925 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 926 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 927 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 928 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 929 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 930 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 931 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -1269,10 +1273,18 @@ | |
| 1269 | |
| 1270 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 1271 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 1272 | |
| 1273 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 1274 | |
| 1275 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(TRANSLATE) |
| 1276 | $(TRANSLATE) $(SRCDIR)/fusefs.c >$@ |
| 1277 | |
| 1278 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 1279 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -375,10 +375,11 @@ | |
| 375 | $(SRCDIR)/encode.c \ |
| 376 | $(SRCDIR)/event.c \ |
| 377 | $(SRCDIR)/export.c \ |
| 378 | $(SRCDIR)/file.c \ |
| 379 | $(SRCDIR)/finfo.c \ |
| 380 | $(SRCDIR)/foci.c \ |
| 381 | $(SRCDIR)/fusefs.c \ |
| 382 | $(SRCDIR)/glob.c \ |
| 383 | $(SRCDIR)/graph.c \ |
| 384 | $(SRCDIR)/gzip.c \ |
| 385 | $(SRCDIR)/http.c \ |
| @@ -495,10 +496,11 @@ | |
| 496 | $(OBJDIR)/encode_.c \ |
| 497 | $(OBJDIR)/event_.c \ |
| 498 | $(OBJDIR)/export_.c \ |
| 499 | $(OBJDIR)/file_.c \ |
| 500 | $(OBJDIR)/finfo_.c \ |
| 501 | $(OBJDIR)/foci_.c \ |
| 502 | $(OBJDIR)/fusefs_.c \ |
| 503 | $(OBJDIR)/glob_.c \ |
| 504 | $(OBJDIR)/graph_.c \ |
| 505 | $(OBJDIR)/gzip_.c \ |
| 506 | $(OBJDIR)/http_.c \ |
| @@ -612,10 +614,11 @@ | |
| 614 | $(OBJDIR)/encode.o \ |
| 615 | $(OBJDIR)/event.o \ |
| 616 | $(OBJDIR)/export.o \ |
| 617 | $(OBJDIR)/file.o \ |
| 618 | $(OBJDIR)/finfo.o \ |
| 619 | $(OBJDIR)/foci.o \ |
| 620 | $(OBJDIR)/fusefs.o \ |
| 621 | $(OBJDIR)/glob.o \ |
| 622 | $(OBJDIR)/graph.o \ |
| 623 | $(OBJDIR)/gzip.o \ |
| 624 | $(OBJDIR)/http.o \ |
| @@ -922,10 +925,11 @@ | |
| 925 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 926 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 927 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 928 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 929 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 930 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 931 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 932 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 933 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 934 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 935 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -1269,10 +1273,18 @@ | |
| 1273 | |
| 1274 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 1275 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 1276 | |
| 1277 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 1278 | |
| 1279 | $(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(TRANSLATE) |
| 1280 | $(TRANSLATE) $(SRCDIR)/foci.c >$@ |
| 1281 | |
| 1282 | $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h |
| 1283 | $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c |
| 1284 | |
| 1285 | $(OBJDIR)/foci.h: $(OBJDIR)/headers |
| 1286 | |
| 1287 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(TRANSLATE) |
| 1288 | $(TRANSLATE) $(SRCDIR)/fusefs.c >$@ |
| 1289 | |
| 1290 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 1291 |
+12
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -375,10 +375,11 @@ | ||
| 375 | 375 | $(SRCDIR)/encode.c \ |
| 376 | 376 | $(SRCDIR)/event.c \ |
| 377 | 377 | $(SRCDIR)/export.c \ |
| 378 | 378 | $(SRCDIR)/file.c \ |
| 379 | 379 | $(SRCDIR)/finfo.c \ |
| 380 | + $(SRCDIR)/foci.c \ | |
| 380 | 381 | $(SRCDIR)/fusefs.c \ |
| 381 | 382 | $(SRCDIR)/glob.c \ |
| 382 | 383 | $(SRCDIR)/graph.c \ |
| 383 | 384 | $(SRCDIR)/gzip.c \ |
| 384 | 385 | $(SRCDIR)/http.c \ |
| @@ -495,10 +496,11 @@ | ||
| 495 | 496 | $(OBJDIR)/encode_.c \ |
| 496 | 497 | $(OBJDIR)/event_.c \ |
| 497 | 498 | $(OBJDIR)/export_.c \ |
| 498 | 499 | $(OBJDIR)/file_.c \ |
| 499 | 500 | $(OBJDIR)/finfo_.c \ |
| 501 | + $(OBJDIR)/foci_.c \ | |
| 500 | 502 | $(OBJDIR)/fusefs_.c \ |
| 501 | 503 | $(OBJDIR)/glob_.c \ |
| 502 | 504 | $(OBJDIR)/graph_.c \ |
| 503 | 505 | $(OBJDIR)/gzip_.c \ |
| 504 | 506 | $(OBJDIR)/http_.c \ |
| @@ -612,10 +614,11 @@ | ||
| 612 | 614 | $(OBJDIR)/encode.o \ |
| 613 | 615 | $(OBJDIR)/event.o \ |
| 614 | 616 | $(OBJDIR)/export.o \ |
| 615 | 617 | $(OBJDIR)/file.o \ |
| 616 | 618 | $(OBJDIR)/finfo.o \ |
| 619 | + $(OBJDIR)/foci.o \ | |
| 617 | 620 | $(OBJDIR)/fusefs.o \ |
| 618 | 621 | $(OBJDIR)/glob.o \ |
| 619 | 622 | $(OBJDIR)/graph.o \ |
| 620 | 623 | $(OBJDIR)/gzip.o \ |
| 621 | 624 | $(OBJDIR)/http.o \ |
| @@ -922,10 +925,11 @@ | ||
| 922 | 925 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 923 | 926 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 924 | 927 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 925 | 928 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 926 | 929 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 930 | + $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ | |
| 927 | 931 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 928 | 932 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 929 | 933 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 930 | 934 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 931 | 935 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -1269,10 +1273,18 @@ | ||
| 1269 | 1273 | |
| 1270 | 1274 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 1271 | 1275 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 1272 | 1276 | |
| 1273 | 1277 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 1278 | + | |
| 1279 | +$(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(TRANSLATE) | |
| 1280 | + $(TRANSLATE) $(SRCDIR)/foci.c >$@ | |
| 1281 | + | |
| 1282 | +$(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h | |
| 1283 | + $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c | |
| 1284 | + | |
| 1285 | +$(OBJDIR)/foci.h: $(OBJDIR)/headers | |
| 1274 | 1286 | |
| 1275 | 1287 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(TRANSLATE) |
| 1276 | 1288 | $(TRANSLATE) $(SRCDIR)/fusefs.c >$@ |
| 1277 | 1289 | |
| 1278 | 1290 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 1279 | 1291 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -375,10 +375,11 @@ | |
| 375 | $(SRCDIR)/encode.c \ |
| 376 | $(SRCDIR)/event.c \ |
| 377 | $(SRCDIR)/export.c \ |
| 378 | $(SRCDIR)/file.c \ |
| 379 | $(SRCDIR)/finfo.c \ |
| 380 | $(SRCDIR)/fusefs.c \ |
| 381 | $(SRCDIR)/glob.c \ |
| 382 | $(SRCDIR)/graph.c \ |
| 383 | $(SRCDIR)/gzip.c \ |
| 384 | $(SRCDIR)/http.c \ |
| @@ -495,10 +496,11 @@ | |
| 495 | $(OBJDIR)/encode_.c \ |
| 496 | $(OBJDIR)/event_.c \ |
| 497 | $(OBJDIR)/export_.c \ |
| 498 | $(OBJDIR)/file_.c \ |
| 499 | $(OBJDIR)/finfo_.c \ |
| 500 | $(OBJDIR)/fusefs_.c \ |
| 501 | $(OBJDIR)/glob_.c \ |
| 502 | $(OBJDIR)/graph_.c \ |
| 503 | $(OBJDIR)/gzip_.c \ |
| 504 | $(OBJDIR)/http_.c \ |
| @@ -612,10 +614,11 @@ | |
| 612 | $(OBJDIR)/encode.o \ |
| 613 | $(OBJDIR)/event.o \ |
| 614 | $(OBJDIR)/export.o \ |
| 615 | $(OBJDIR)/file.o \ |
| 616 | $(OBJDIR)/finfo.o \ |
| 617 | $(OBJDIR)/fusefs.o \ |
| 618 | $(OBJDIR)/glob.o \ |
| 619 | $(OBJDIR)/graph.o \ |
| 620 | $(OBJDIR)/gzip.o \ |
| 621 | $(OBJDIR)/http.o \ |
| @@ -922,10 +925,11 @@ | |
| 922 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 923 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 924 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 925 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 926 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 927 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 928 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 929 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 930 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 931 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -1269,10 +1273,18 @@ | |
| 1269 | |
| 1270 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 1271 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 1272 | |
| 1273 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 1274 | |
| 1275 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(TRANSLATE) |
| 1276 | $(TRANSLATE) $(SRCDIR)/fusefs.c >$@ |
| 1277 | |
| 1278 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 1279 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -375,10 +375,11 @@ | |
| 375 | $(SRCDIR)/encode.c \ |
| 376 | $(SRCDIR)/event.c \ |
| 377 | $(SRCDIR)/export.c \ |
| 378 | $(SRCDIR)/file.c \ |
| 379 | $(SRCDIR)/finfo.c \ |
| 380 | $(SRCDIR)/foci.c \ |
| 381 | $(SRCDIR)/fusefs.c \ |
| 382 | $(SRCDIR)/glob.c \ |
| 383 | $(SRCDIR)/graph.c \ |
| 384 | $(SRCDIR)/gzip.c \ |
| 385 | $(SRCDIR)/http.c \ |
| @@ -495,10 +496,11 @@ | |
| 496 | $(OBJDIR)/encode_.c \ |
| 497 | $(OBJDIR)/event_.c \ |
| 498 | $(OBJDIR)/export_.c \ |
| 499 | $(OBJDIR)/file_.c \ |
| 500 | $(OBJDIR)/finfo_.c \ |
| 501 | $(OBJDIR)/foci_.c \ |
| 502 | $(OBJDIR)/fusefs_.c \ |
| 503 | $(OBJDIR)/glob_.c \ |
| 504 | $(OBJDIR)/graph_.c \ |
| 505 | $(OBJDIR)/gzip_.c \ |
| 506 | $(OBJDIR)/http_.c \ |
| @@ -612,10 +614,11 @@ | |
| 614 | $(OBJDIR)/encode.o \ |
| 615 | $(OBJDIR)/event.o \ |
| 616 | $(OBJDIR)/export.o \ |
| 617 | $(OBJDIR)/file.o \ |
| 618 | $(OBJDIR)/finfo.o \ |
| 619 | $(OBJDIR)/foci.o \ |
| 620 | $(OBJDIR)/fusefs.o \ |
| 621 | $(OBJDIR)/glob.o \ |
| 622 | $(OBJDIR)/graph.o \ |
| 623 | $(OBJDIR)/gzip.o \ |
| 624 | $(OBJDIR)/http.o \ |
| @@ -922,10 +925,11 @@ | |
| 925 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 926 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 927 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 928 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 929 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 930 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 931 | $(OBJDIR)/fusefs_.c:$(OBJDIR)/fusefs.h \ |
| 932 | $(OBJDIR)/glob_.c:$(OBJDIR)/glob.h \ |
| 933 | $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h \ |
| 934 | $(OBJDIR)/gzip_.c:$(OBJDIR)/gzip.h \ |
| 935 | $(OBJDIR)/http_.c:$(OBJDIR)/http.h \ |
| @@ -1269,10 +1273,18 @@ | |
| 1273 | |
| 1274 | $(OBJDIR)/finfo.o: $(OBJDIR)/finfo_.c $(OBJDIR)/finfo.h $(SRCDIR)/config.h |
| 1275 | $(XTCC) -o $(OBJDIR)/finfo.o -c $(OBJDIR)/finfo_.c |
| 1276 | |
| 1277 | $(OBJDIR)/finfo.h: $(OBJDIR)/headers |
| 1278 | |
| 1279 | $(OBJDIR)/foci_.c: $(SRCDIR)/foci.c $(TRANSLATE) |
| 1280 | $(TRANSLATE) $(SRCDIR)/foci.c >$@ |
| 1281 | |
| 1282 | $(OBJDIR)/foci.o: $(OBJDIR)/foci_.c $(OBJDIR)/foci.h $(SRCDIR)/config.h |
| 1283 | $(XTCC) -o $(OBJDIR)/foci.o -c $(OBJDIR)/foci_.c |
| 1284 | |
| 1285 | $(OBJDIR)/foci.h: $(OBJDIR)/headers |
| 1286 | |
| 1287 | $(OBJDIR)/fusefs_.c: $(SRCDIR)/fusefs.c $(TRANSLATE) |
| 1288 | $(TRANSLATE) $(SRCDIR)/fusefs.c >$@ |
| 1289 | |
| 1290 | $(OBJDIR)/fusefs.o: $(OBJDIR)/fusefs_.c $(OBJDIR)/fusefs.h $(SRCDIR)/config.h |
| 1291 |
+10
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -227,10 +227,11 @@ | ||
| 227 | 227 | encode_.c \ |
| 228 | 228 | event_.c \ |
| 229 | 229 | export_.c \ |
| 230 | 230 | file_.c \ |
| 231 | 231 | finfo_.c \ |
| 232 | + foci_.c \ | |
| 232 | 233 | fusefs_.c \ |
| 233 | 234 | glob_.c \ |
| 234 | 235 | graph_.c \ |
| 235 | 236 | gzip_.c \ |
| 236 | 237 | http_.c \ |
| @@ -346,10 +347,11 @@ | ||
| 346 | 347 | $(OX)\encode$O \ |
| 347 | 348 | $(OX)\event$O \ |
| 348 | 349 | $(OX)\export$O \ |
| 349 | 350 | $(OX)\file$O \ |
| 350 | 351 | $(OX)\finfo$O \ |
| 352 | + $(OX)\foci$O \ | |
| 351 | 353 | $(OX)\fusefs$O \ |
| 352 | 354 | $(OX)\glob$O \ |
| 353 | 355 | $(OX)\graph$O \ |
| 354 | 356 | $(OX)\gzip$O \ |
| 355 | 357 | $(OX)\http$O \ |
| @@ -518,10 +520,11 @@ | ||
| 518 | 520 | echo $(OX)\encode.obj >> $@ |
| 519 | 521 | echo $(OX)\event.obj >> $@ |
| 520 | 522 | echo $(OX)\export.obj >> $@ |
| 521 | 523 | echo $(OX)\file.obj >> $@ |
| 522 | 524 | echo $(OX)\finfo.obj >> $@ |
| 525 | + echo $(OX)\foci.obj >> $@ | |
| 523 | 526 | echo $(OX)\fusefs.obj >> $@ |
| 524 | 527 | echo $(OX)\glob.obj >> $@ |
| 525 | 528 | echo $(OX)\graph.obj >> $@ |
| 526 | 529 | echo $(OX)\gzip.obj >> $@ |
| 527 | 530 | echo $(OX)\http.obj >> $@ |
| @@ -896,10 +899,16 @@ | ||
| 896 | 899 | $(OX)\finfo$O : finfo_.c finfo.h |
| 897 | 900 | $(TCC) /Fo$@ -c finfo_.c |
| 898 | 901 | |
| 899 | 902 | finfo_.c : $(SRCDIR)\finfo.c |
| 900 | 903 | translate$E $** > $@ |
| 904 | + | |
| 905 | +$(OX)\foci$O : foci_.c foci.h | |
| 906 | + $(TCC) /Fo$@ -c foci_.c | |
| 907 | + | |
| 908 | +foci_.c : $(SRCDIR)\foci.c | |
| 909 | + translate$E $** > $@ | |
| 901 | 910 | |
| 902 | 911 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 903 | 912 | $(TCC) /Fo$@ -c fusefs_.c |
| 904 | 913 | |
| 905 | 914 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -1431,10 +1440,11 @@ | ||
| 1431 | 1440 | encode_.c:encode.h \ |
| 1432 | 1441 | event_.c:event.h \ |
| 1433 | 1442 | export_.c:export.h \ |
| 1434 | 1443 | file_.c:file.h \ |
| 1435 | 1444 | finfo_.c:finfo.h \ |
| 1445 | + foci_.c:foci.h \ | |
| 1436 | 1446 | fusefs_.c:fusefs.h \ |
| 1437 | 1447 | glob_.c:glob.h \ |
| 1438 | 1448 | graph_.c:graph.h \ |
| 1439 | 1449 | gzip_.c:gzip.h \ |
| 1440 | 1450 | http_.c:http.h \ |
| 1441 | 1451 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -227,10 +227,11 @@ | |
| 227 | encode_.c \ |
| 228 | event_.c \ |
| 229 | export_.c \ |
| 230 | file_.c \ |
| 231 | finfo_.c \ |
| 232 | fusefs_.c \ |
| 233 | glob_.c \ |
| 234 | graph_.c \ |
| 235 | gzip_.c \ |
| 236 | http_.c \ |
| @@ -346,10 +347,11 @@ | |
| 346 | $(OX)\encode$O \ |
| 347 | $(OX)\event$O \ |
| 348 | $(OX)\export$O \ |
| 349 | $(OX)\file$O \ |
| 350 | $(OX)\finfo$O \ |
| 351 | $(OX)\fusefs$O \ |
| 352 | $(OX)\glob$O \ |
| 353 | $(OX)\graph$O \ |
| 354 | $(OX)\gzip$O \ |
| 355 | $(OX)\http$O \ |
| @@ -518,10 +520,11 @@ | |
| 518 | echo $(OX)\encode.obj >> $@ |
| 519 | echo $(OX)\event.obj >> $@ |
| 520 | echo $(OX)\export.obj >> $@ |
| 521 | echo $(OX)\file.obj >> $@ |
| 522 | echo $(OX)\finfo.obj >> $@ |
| 523 | echo $(OX)\fusefs.obj >> $@ |
| 524 | echo $(OX)\glob.obj >> $@ |
| 525 | echo $(OX)\graph.obj >> $@ |
| 526 | echo $(OX)\gzip.obj >> $@ |
| 527 | echo $(OX)\http.obj >> $@ |
| @@ -896,10 +899,16 @@ | |
| 896 | $(OX)\finfo$O : finfo_.c finfo.h |
| 897 | $(TCC) /Fo$@ -c finfo_.c |
| 898 | |
| 899 | finfo_.c : $(SRCDIR)\finfo.c |
| 900 | translate$E $** > $@ |
| 901 | |
| 902 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 903 | $(TCC) /Fo$@ -c fusefs_.c |
| 904 | |
| 905 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -1431,10 +1440,11 @@ | |
| 1431 | encode_.c:encode.h \ |
| 1432 | event_.c:event.h \ |
| 1433 | export_.c:export.h \ |
| 1434 | file_.c:file.h \ |
| 1435 | finfo_.c:finfo.h \ |
| 1436 | fusefs_.c:fusefs.h \ |
| 1437 | glob_.c:glob.h \ |
| 1438 | graph_.c:graph.h \ |
| 1439 | gzip_.c:gzip.h \ |
| 1440 | http_.c:http.h \ |
| 1441 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -227,10 +227,11 @@ | |
| 227 | encode_.c \ |
| 228 | event_.c \ |
| 229 | export_.c \ |
| 230 | file_.c \ |
| 231 | finfo_.c \ |
| 232 | foci_.c \ |
| 233 | fusefs_.c \ |
| 234 | glob_.c \ |
| 235 | graph_.c \ |
| 236 | gzip_.c \ |
| 237 | http_.c \ |
| @@ -346,10 +347,11 @@ | |
| 347 | $(OX)\encode$O \ |
| 348 | $(OX)\event$O \ |
| 349 | $(OX)\export$O \ |
| 350 | $(OX)\file$O \ |
| 351 | $(OX)\finfo$O \ |
| 352 | $(OX)\foci$O \ |
| 353 | $(OX)\fusefs$O \ |
| 354 | $(OX)\glob$O \ |
| 355 | $(OX)\graph$O \ |
| 356 | $(OX)\gzip$O \ |
| 357 | $(OX)\http$O \ |
| @@ -518,10 +520,11 @@ | |
| 520 | echo $(OX)\encode.obj >> $@ |
| 521 | echo $(OX)\event.obj >> $@ |
| 522 | echo $(OX)\export.obj >> $@ |
| 523 | echo $(OX)\file.obj >> $@ |
| 524 | echo $(OX)\finfo.obj >> $@ |
| 525 | echo $(OX)\foci.obj >> $@ |
| 526 | echo $(OX)\fusefs.obj >> $@ |
| 527 | echo $(OX)\glob.obj >> $@ |
| 528 | echo $(OX)\graph.obj >> $@ |
| 529 | echo $(OX)\gzip.obj >> $@ |
| 530 | echo $(OX)\http.obj >> $@ |
| @@ -896,10 +899,16 @@ | |
| 899 | $(OX)\finfo$O : finfo_.c finfo.h |
| 900 | $(TCC) /Fo$@ -c finfo_.c |
| 901 | |
| 902 | finfo_.c : $(SRCDIR)\finfo.c |
| 903 | translate$E $** > $@ |
| 904 | |
| 905 | $(OX)\foci$O : foci_.c foci.h |
| 906 | $(TCC) /Fo$@ -c foci_.c |
| 907 | |
| 908 | foci_.c : $(SRCDIR)\foci.c |
| 909 | translate$E $** > $@ |
| 910 | |
| 911 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 912 | $(TCC) /Fo$@ -c fusefs_.c |
| 913 | |
| 914 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -1431,10 +1440,11 @@ | |
| 1440 | encode_.c:encode.h \ |
| 1441 | event_.c:event.h \ |
| 1442 | export_.c:export.h \ |
| 1443 | file_.c:file.h \ |
| 1444 | finfo_.c:finfo.h \ |
| 1445 | foci_.c:foci.h \ |
| 1446 | fusefs_.c:fusefs.h \ |
| 1447 | glob_.c:glob.h \ |
| 1448 | graph_.c:graph.h \ |
| 1449 | gzip_.c:gzip.h \ |
| 1450 | http_.c:http.h \ |
| 1451 |
+10
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -227,10 +227,11 @@ | ||
| 227 | 227 | encode_.c \ |
| 228 | 228 | event_.c \ |
| 229 | 229 | export_.c \ |
| 230 | 230 | file_.c \ |
| 231 | 231 | finfo_.c \ |
| 232 | + foci_.c \ | |
| 232 | 233 | fusefs_.c \ |
| 233 | 234 | glob_.c \ |
| 234 | 235 | graph_.c \ |
| 235 | 236 | gzip_.c \ |
| 236 | 237 | http_.c \ |
| @@ -346,10 +347,11 @@ | ||
| 346 | 347 | $(OX)\encode$O \ |
| 347 | 348 | $(OX)\event$O \ |
| 348 | 349 | $(OX)\export$O \ |
| 349 | 350 | $(OX)\file$O \ |
| 350 | 351 | $(OX)\finfo$O \ |
| 352 | + $(OX)\foci$O \ | |
| 351 | 353 | $(OX)\fusefs$O \ |
| 352 | 354 | $(OX)\glob$O \ |
| 353 | 355 | $(OX)\graph$O \ |
| 354 | 356 | $(OX)\gzip$O \ |
| 355 | 357 | $(OX)\http$O \ |
| @@ -518,10 +520,11 @@ | ||
| 518 | 520 | echo $(OX)\encode.obj >> $@ |
| 519 | 521 | echo $(OX)\event.obj >> $@ |
| 520 | 522 | echo $(OX)\export.obj >> $@ |
| 521 | 523 | echo $(OX)\file.obj >> $@ |
| 522 | 524 | echo $(OX)\finfo.obj >> $@ |
| 525 | + echo $(OX)\foci.obj >> $@ | |
| 523 | 526 | echo $(OX)\fusefs.obj >> $@ |
| 524 | 527 | echo $(OX)\glob.obj >> $@ |
| 525 | 528 | echo $(OX)\graph.obj >> $@ |
| 526 | 529 | echo $(OX)\gzip.obj >> $@ |
| 527 | 530 | echo $(OX)\http.obj >> $@ |
| @@ -896,10 +899,16 @@ | ||
| 896 | 899 | $(OX)\finfo$O : finfo_.c finfo.h |
| 897 | 900 | $(TCC) /Fo$@ -c finfo_.c |
| 898 | 901 | |
| 899 | 902 | finfo_.c : $(SRCDIR)\finfo.c |
| 900 | 903 | translate$E $** > $@ |
| 904 | + | |
| 905 | +$(OX)\foci$O : foci_.c foci.h | |
| 906 | + $(TCC) /Fo$@ -c foci_.c | |
| 907 | + | |
| 908 | +foci_.c : $(SRCDIR)\foci.c | |
| 909 | + translate$E $** > $@ | |
| 901 | 910 | |
| 902 | 911 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 903 | 912 | $(TCC) /Fo$@ -c fusefs_.c |
| 904 | 913 | |
| 905 | 914 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -1431,10 +1440,11 @@ | ||
| 1431 | 1440 | encode_.c:encode.h \ |
| 1432 | 1441 | event_.c:event.h \ |
| 1433 | 1442 | export_.c:export.h \ |
| 1434 | 1443 | file_.c:file.h \ |
| 1435 | 1444 | finfo_.c:finfo.h \ |
| 1445 | + foci_.c:foci.h \ | |
| 1436 | 1446 | fusefs_.c:fusefs.h \ |
| 1437 | 1447 | glob_.c:glob.h \ |
| 1438 | 1448 | graph_.c:graph.h \ |
| 1439 | 1449 | gzip_.c:gzip.h \ |
| 1440 | 1450 | http_.c:http.h \ |
| 1441 | 1451 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -227,10 +227,11 @@ | |
| 227 | encode_.c \ |
| 228 | event_.c \ |
| 229 | export_.c \ |
| 230 | file_.c \ |
| 231 | finfo_.c \ |
| 232 | fusefs_.c \ |
| 233 | glob_.c \ |
| 234 | graph_.c \ |
| 235 | gzip_.c \ |
| 236 | http_.c \ |
| @@ -346,10 +347,11 @@ | |
| 346 | $(OX)\encode$O \ |
| 347 | $(OX)\event$O \ |
| 348 | $(OX)\export$O \ |
| 349 | $(OX)\file$O \ |
| 350 | $(OX)\finfo$O \ |
| 351 | $(OX)\fusefs$O \ |
| 352 | $(OX)\glob$O \ |
| 353 | $(OX)\graph$O \ |
| 354 | $(OX)\gzip$O \ |
| 355 | $(OX)\http$O \ |
| @@ -518,10 +520,11 @@ | |
| 518 | echo $(OX)\encode.obj >> $@ |
| 519 | echo $(OX)\event.obj >> $@ |
| 520 | echo $(OX)\export.obj >> $@ |
| 521 | echo $(OX)\file.obj >> $@ |
| 522 | echo $(OX)\finfo.obj >> $@ |
| 523 | echo $(OX)\fusefs.obj >> $@ |
| 524 | echo $(OX)\glob.obj >> $@ |
| 525 | echo $(OX)\graph.obj >> $@ |
| 526 | echo $(OX)\gzip.obj >> $@ |
| 527 | echo $(OX)\http.obj >> $@ |
| @@ -896,10 +899,16 @@ | |
| 896 | $(OX)\finfo$O : finfo_.c finfo.h |
| 897 | $(TCC) /Fo$@ -c finfo_.c |
| 898 | |
| 899 | finfo_.c : $(SRCDIR)\finfo.c |
| 900 | translate$E $** > $@ |
| 901 | |
| 902 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 903 | $(TCC) /Fo$@ -c fusefs_.c |
| 904 | |
| 905 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -1431,10 +1440,11 @@ | |
| 1431 | encode_.c:encode.h \ |
| 1432 | event_.c:event.h \ |
| 1433 | export_.c:export.h \ |
| 1434 | file_.c:file.h \ |
| 1435 | finfo_.c:finfo.h \ |
| 1436 | fusefs_.c:fusefs.h \ |
| 1437 | glob_.c:glob.h \ |
| 1438 | graph_.c:graph.h \ |
| 1439 | gzip_.c:gzip.h \ |
| 1440 | http_.c:http.h \ |
| 1441 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -227,10 +227,11 @@ | |
| 227 | encode_.c \ |
| 228 | event_.c \ |
| 229 | export_.c \ |
| 230 | file_.c \ |
| 231 | finfo_.c \ |
| 232 | foci_.c \ |
| 233 | fusefs_.c \ |
| 234 | glob_.c \ |
| 235 | graph_.c \ |
| 236 | gzip_.c \ |
| 237 | http_.c \ |
| @@ -346,10 +347,11 @@ | |
| 347 | $(OX)\encode$O \ |
| 348 | $(OX)\event$O \ |
| 349 | $(OX)\export$O \ |
| 350 | $(OX)\file$O \ |
| 351 | $(OX)\finfo$O \ |
| 352 | $(OX)\foci$O \ |
| 353 | $(OX)\fusefs$O \ |
| 354 | $(OX)\glob$O \ |
| 355 | $(OX)\graph$O \ |
| 356 | $(OX)\gzip$O \ |
| 357 | $(OX)\http$O \ |
| @@ -518,10 +520,11 @@ | |
| 520 | echo $(OX)\encode.obj >> $@ |
| 521 | echo $(OX)\event.obj >> $@ |
| 522 | echo $(OX)\export.obj >> $@ |
| 523 | echo $(OX)\file.obj >> $@ |
| 524 | echo $(OX)\finfo.obj >> $@ |
| 525 | echo $(OX)\foci.obj >> $@ |
| 526 | echo $(OX)\fusefs.obj >> $@ |
| 527 | echo $(OX)\glob.obj >> $@ |
| 528 | echo $(OX)\graph.obj >> $@ |
| 529 | echo $(OX)\gzip.obj >> $@ |
| 530 | echo $(OX)\http.obj >> $@ |
| @@ -896,10 +899,16 @@ | |
| 899 | $(OX)\finfo$O : finfo_.c finfo.h |
| 900 | $(TCC) /Fo$@ -c finfo_.c |
| 901 | |
| 902 | finfo_.c : $(SRCDIR)\finfo.c |
| 903 | translate$E $** > $@ |
| 904 | |
| 905 | $(OX)\foci$O : foci_.c foci.h |
| 906 | $(TCC) /Fo$@ -c foci_.c |
| 907 | |
| 908 | foci_.c : $(SRCDIR)\foci.c |
| 909 | translate$E $** > $@ |
| 910 | |
| 911 | $(OX)\fusefs$O : fusefs_.c fusefs.h |
| 912 | $(TCC) /Fo$@ -c fusefs_.c |
| 913 | |
| 914 | fusefs_.c : $(SRCDIR)\fusefs.c |
| @@ -1431,10 +1440,11 @@ | |
| 1440 | encode_.c:encode.h \ |
| 1441 | event_.c:event.h \ |
| 1442 | export_.c:export.h \ |
| 1443 | file_.c:file.h \ |
| 1444 | finfo_.c:finfo.h \ |
| 1445 | foci_.c:foci.h \ |
| 1446 | fusefs_.c:fusefs.h \ |
| 1447 | glob_.c:glob.h \ |
| 1448 | graph_.c:graph.h \ |
| 1449 | gzip_.c:gzip.h \ |
| 1450 | http_.c:http.h \ |
| 1451 |