Fossil SCM
Merge updates from trunk.
Commit
937d2f479d878b8060d12389f7e703fab4230670
Parent
00c01d7a36c8526…
17 files changed
+1
-1
+2
-2
+10
-3
+9
-6
+4
-4
+3
-3
+51
-25
+2
-2
+59
+2
-2
+2
-2
+8
-3
+8
-3
+36
-15
+3
-3
+18
-4
+2
~
Makefile.classic
~
auto.def
~
src/attach.c
~
src/info.c
~
src/main.c
~
src/main.mk
~
src/makemake.tcl
~
src/tag.c
~
test/merge6.test
~
win/Makefile.PellesCGMake
~
win/Makefile.dmc
~
win/Makefile.mingw
~
win/Makefile.mingw.mistachkin
~
win/Makefile.msc
~
win/fossil.rc
~
www/build.wiki
~
www/changes.wiki
+1
-1
| --- Makefile.classic | ||
| +++ Makefile.classic | ||
| @@ -25,11 +25,11 @@ | ||
| 25 | 25 | #### The suffix to add to final executable file. When cross-compiling |
| 26 | 26 | # to windows, make this ".exe". Otherwise leave it blank. |
| 27 | 27 | # |
| 28 | 28 | E = |
| 29 | 29 | |
| 30 | -#### C Compile and options for use in building executables that | |
| 30 | +#### C Compile and options for use in building executables that | |
| 31 | 31 | # will run on the target platform. This is usually the same |
| 32 | 32 | # as BCC, unless you are cross-compiling. This C compiler builds |
| 33 | 33 | # the finished binary for fossil. The BCC compiler above is used |
| 34 | 34 | # for building intermediate code-generator tools. |
| 35 | 35 | # |
| 36 | 36 |
| --- Makefile.classic | |
| +++ Makefile.classic | |
| @@ -25,11 +25,11 @@ | |
| 25 | #### The suffix to add to final executable file. When cross-compiling |
| 26 | # to windows, make this ".exe". Otherwise leave it blank. |
| 27 | # |
| 28 | E = |
| 29 | |
| 30 | #### C Compile and options for use in building executables that |
| 31 | # will run on the target platform. This is usually the same |
| 32 | # as BCC, unless you are cross-compiling. This C compiler builds |
| 33 | # the finished binary for fossil. The BCC compiler above is used |
| 34 | # for building intermediate code-generator tools. |
| 35 | # |
| 36 |
| --- Makefile.classic | |
| +++ Makefile.classic | |
| @@ -25,11 +25,11 @@ | |
| 25 | #### The suffix to add to final executable file. When cross-compiling |
| 26 | # to windows, make this ".exe". Otherwise leave it blank. |
| 27 | # |
| 28 | E = |
| 29 | |
| 30 | #### C Compile and options for use in building executables that |
| 31 | # will run on the target platform. This is usually the same |
| 32 | # as BCC, unless you are cross-compiling. This C compiler builds |
| 33 | # the finished binary for fossil. The BCC compiler above is used |
| 34 | # for building intermediate code-generator tools. |
| 35 | # |
| 36 |
M
auto.def
+2
-2
| --- auto.def | ||
| +++ auto.def | ||
| @@ -2,11 +2,11 @@ | ||
| 2 | 2 | |
| 3 | 3 | use cc cc-lib |
| 4 | 4 | |
| 5 | 5 | options { |
| 6 | 6 | with-openssl:path|auto|none |
| 7 | - => {Look for openssl in the given path, or auto or none} | |
| 7 | + => {Look for OpenSSL in the given path, or auto or none} | |
| 8 | 8 | with-zlib:path => {Look for zlib in the given path} |
| 9 | 9 | with-th1-hooks=0 => {Enable TH1 hooks for commands and web pages} |
| 10 | 10 | with-tcl:path => {Enable Tcl integration, with Tcl in the specified path} |
| 11 | 11 | with-tcl-stubs=0 => {Enable Tcl integration via stubs library mechanism} |
| 12 | 12 | with-tcl-private-stubs=0 |
| @@ -161,11 +161,11 @@ | ||
| 161 | 161 | define-append EXTRA_CFLAGS $cflags |
| 162 | 162 | define-append EXTRA_LDFLAGS $tclconfig(TCL_LD_FLAGS) |
| 163 | 163 | define FOSSIL_ENABLE_TCL |
| 164 | 164 | } |
| 165 | 165 | |
| 166 | -# Helper for openssl checking | |
| 166 | +# Helper for OpenSSL checking | |
| 167 | 167 | proc check-for-openssl {msg {cflags {}}} { |
| 168 | 168 | msg-checking "Checking for $msg..." |
| 169 | 169 | set rc 0 |
| 170 | 170 | msg-quiet cc-with [list -cflags $cflags -libs {-lssl -lcrypto}] { |
| 171 | 171 | if {[cc-check-includes openssl/ssl.h] && [cc-check-functions SSL_new]} { |
| 172 | 172 |
| --- auto.def | |
| +++ auto.def | |
| @@ -2,11 +2,11 @@ | |
| 2 | |
| 3 | use cc cc-lib |
| 4 | |
| 5 | options { |
| 6 | with-openssl:path|auto|none |
| 7 | => {Look for openssl in the given path, or auto or none} |
| 8 | with-zlib:path => {Look for zlib in the given path} |
| 9 | with-th1-hooks=0 => {Enable TH1 hooks for commands and web pages} |
| 10 | with-tcl:path => {Enable Tcl integration, with Tcl in the specified path} |
| 11 | with-tcl-stubs=0 => {Enable Tcl integration via stubs library mechanism} |
| 12 | with-tcl-private-stubs=0 |
| @@ -161,11 +161,11 @@ | |
| 161 | define-append EXTRA_CFLAGS $cflags |
| 162 | define-append EXTRA_LDFLAGS $tclconfig(TCL_LD_FLAGS) |
| 163 | define FOSSIL_ENABLE_TCL |
| 164 | } |
| 165 | |
| 166 | # Helper for openssl checking |
| 167 | proc check-for-openssl {msg {cflags {}}} { |
| 168 | msg-checking "Checking for $msg..." |
| 169 | set rc 0 |
| 170 | msg-quiet cc-with [list -cflags $cflags -libs {-lssl -lcrypto}] { |
| 171 | if {[cc-check-includes openssl/ssl.h] && [cc-check-functions SSL_new]} { |
| 172 |
| --- auto.def | |
| +++ auto.def | |
| @@ -2,11 +2,11 @@ | |
| 2 | |
| 3 | use cc cc-lib |
| 4 | |
| 5 | options { |
| 6 | with-openssl:path|auto|none |
| 7 | => {Look for OpenSSL in the given path, or auto or none} |
| 8 | with-zlib:path => {Look for zlib in the given path} |
| 9 | with-th1-hooks=0 => {Enable TH1 hooks for commands and web pages} |
| 10 | with-tcl:path => {Enable Tcl integration, with Tcl in the specified path} |
| 11 | with-tcl-stubs=0 => {Enable Tcl integration via stubs library mechanism} |
| 12 | with-tcl-private-stubs=0 |
| @@ -161,11 +161,11 @@ | |
| 161 | define-append EXTRA_CFLAGS $cflags |
| 162 | define-append EXTRA_LDFLAGS $tclconfig(TCL_LD_FLAGS) |
| 163 | define FOSSIL_ENABLE_TCL |
| 164 | } |
| 165 | |
| 166 | # Helper for OpenSSL checking |
| 167 | proc check-for-openssl {msg {cflags {}}} { |
| 168 | msg-checking "Checking for $msg..." |
| 169 | set rc 0 |
| 170 | msg-quiet cc-with [list -cflags $cflags -libs {-lssl -lcrypto}] { |
| 171 | if {[cc-check-includes openssl/ssl.h] && [cc-check-functions SSL_new]} { |
| 172 |
+10
-3
| --- src/attach.c | ||
| +++ src/attach.c | ||
| @@ -365,10 +365,12 @@ | ||
| 365 | 365 | int modPending; /* True if awaiting moderation */ |
| 366 | 366 | const char *zModAction; /* Moderation action or NULL */ |
| 367 | 367 | int isModerator; /* TRUE if user is the moderator */ |
| 368 | 368 | const char *zMime; /* MIME Type */ |
| 369 | 369 | Blob attach; /* Content of the attachment */ |
| 370 | + int fShowContent = 0; | |
| 371 | + const char *zLn = P("ln"); | |
| 370 | 372 | |
| 371 | 373 | login_check_credentials(); |
| 372 | 374 | if( !g.perm.RdTkt && !g.perm.RdWiki ){ login_needed(); return; } |
| 373 | 375 | rid = name_to_rid_www("name"); |
| 374 | 376 | if( rid==0 ){ fossil_redirect_home(); } |
| @@ -391,10 +393,12 @@ | ||
| 391 | 393 | zTarget = pAttach->zAttachTarget; |
| 392 | 394 | zSrc = pAttach->zAttachSrc; |
| 393 | 395 | ridSrc = db_int(0,"SELECT rid FROM blob WHERE uuid='%s'", zSrc); |
| 394 | 396 | zName = pAttach->zAttachName; |
| 395 | 397 | zDesc = pAttach->zComment; |
| 398 | + zMime = mimetype_from_name(zName); | |
| 399 | + fShowContent = zMime ? strncmp(zMime,"text/", 5)==0 : 0; | |
| 396 | 400 | if( validate16(zTarget, strlen(zTarget)) |
| 397 | 401 | && db_exists("SELECT 1 FROM ticket WHERE tkt_uuid='%s'", zTarget) |
| 398 | 402 | ){ |
| 399 | 403 | zTktUuid = zTarget; |
| 400 | 404 | if( !g.perm.RdTkt ){ login_needed(); return; } |
| @@ -464,10 +468,15 @@ | ||
| 464 | 468 | moderation_approve(rid); |
| 465 | 469 | } |
| 466 | 470 | } |
| 467 | 471 | style_header("Attachment Details"); |
| 468 | 472 | style_submenu_element("Raw", "Raw", "%R/artifact/%s", zUuid); |
| 473 | + if(fShowContent){ | |
| 474 | + style_submenu_element("Line Numbers", "Line Numbers", | |
| 475 | + "%R/ainfo/%s%s",zUuid, | |
| 476 | + ((zLn&&*zLn) ? "" : "?ln=0")); | |
| 477 | + } | |
| 469 | 478 | |
| 470 | 479 | @ <div class="section">Overview</div> |
| 471 | 480 | @ <p><table class="label-value"> |
| 472 | 481 | @ <tr><th>Artifact ID:</th> |
| 473 | 482 | @ <td>%z(href("%R/artifact/%s",zUuid))%s(zUuid)</a> |
| @@ -494,11 +503,10 @@ | ||
| 494 | 503 | @ <td>%z(href("%R/artifact/%s",zSrc))%s(zSrc)</a> |
| 495 | 504 | if( g.perm.Setup ){ |
| 496 | 505 | @ (%d(ridSrc)) |
| 497 | 506 | } |
| 498 | 507 | @ <tr><th>Filename:</th><td>%h(zName)</td></tr> |
| 499 | - zMime = mimetype_from_name(zName); | |
| 500 | 508 | if( g.perm.Setup ){ |
| 501 | 509 | @ <tr><th>MIME-Type:</th><td>%h(zMime)</td></tr> |
| 502 | 510 | } |
| 503 | 511 | @ <tr><th valign="top">Description:</th><td valign="top">%h(zDesc)</td></tr> |
| 504 | 512 | @ </table> |
| @@ -517,13 +525,12 @@ | ||
| 517 | 525 | } |
| 518 | 526 | |
| 519 | 527 | @ <div class="section">Content Appended</div> |
| 520 | 528 | @ <blockquote> |
| 521 | 529 | blob_zero(&attach); |
| 522 | - if( zMime==0 || strncmp(zMime,"text/", 5)==0 ){ | |
| 530 | + if( fShowContent ){ | |
| 523 | 531 | const char *z; |
| 524 | - const char *zLn = P("ln"); | |
| 525 | 532 | content_get(ridSrc, &attach); |
| 526 | 533 | blob_to_utf8_no_bom(&attach, 0); |
| 527 | 534 | z = blob_str(&attach); |
| 528 | 535 | if( zLn ){ |
| 529 | 536 | output_text_with_line_numbers(z, zLn); |
| 530 | 537 |
| --- src/attach.c | |
| +++ src/attach.c | |
| @@ -365,10 +365,12 @@ | |
| 365 | int modPending; /* True if awaiting moderation */ |
| 366 | const char *zModAction; /* Moderation action or NULL */ |
| 367 | int isModerator; /* TRUE if user is the moderator */ |
| 368 | const char *zMime; /* MIME Type */ |
| 369 | Blob attach; /* Content of the attachment */ |
| 370 | |
| 371 | login_check_credentials(); |
| 372 | if( !g.perm.RdTkt && !g.perm.RdWiki ){ login_needed(); return; } |
| 373 | rid = name_to_rid_www("name"); |
| 374 | if( rid==0 ){ fossil_redirect_home(); } |
| @@ -391,10 +393,12 @@ | |
| 391 | zTarget = pAttach->zAttachTarget; |
| 392 | zSrc = pAttach->zAttachSrc; |
| 393 | ridSrc = db_int(0,"SELECT rid FROM blob WHERE uuid='%s'", zSrc); |
| 394 | zName = pAttach->zAttachName; |
| 395 | zDesc = pAttach->zComment; |
| 396 | if( validate16(zTarget, strlen(zTarget)) |
| 397 | && db_exists("SELECT 1 FROM ticket WHERE tkt_uuid='%s'", zTarget) |
| 398 | ){ |
| 399 | zTktUuid = zTarget; |
| 400 | if( !g.perm.RdTkt ){ login_needed(); return; } |
| @@ -464,10 +468,15 @@ | |
| 464 | moderation_approve(rid); |
| 465 | } |
| 466 | } |
| 467 | style_header("Attachment Details"); |
| 468 | style_submenu_element("Raw", "Raw", "%R/artifact/%s", zUuid); |
| 469 | |
| 470 | @ <div class="section">Overview</div> |
| 471 | @ <p><table class="label-value"> |
| 472 | @ <tr><th>Artifact ID:</th> |
| 473 | @ <td>%z(href("%R/artifact/%s",zUuid))%s(zUuid)</a> |
| @@ -494,11 +503,10 @@ | |
| 494 | @ <td>%z(href("%R/artifact/%s",zSrc))%s(zSrc)</a> |
| 495 | if( g.perm.Setup ){ |
| 496 | @ (%d(ridSrc)) |
| 497 | } |
| 498 | @ <tr><th>Filename:</th><td>%h(zName)</td></tr> |
| 499 | zMime = mimetype_from_name(zName); |
| 500 | if( g.perm.Setup ){ |
| 501 | @ <tr><th>MIME-Type:</th><td>%h(zMime)</td></tr> |
| 502 | } |
| 503 | @ <tr><th valign="top">Description:</th><td valign="top">%h(zDesc)</td></tr> |
| 504 | @ </table> |
| @@ -517,13 +525,12 @@ | |
| 517 | } |
| 518 | |
| 519 | @ <div class="section">Content Appended</div> |
| 520 | @ <blockquote> |
| 521 | blob_zero(&attach); |
| 522 | if( zMime==0 || strncmp(zMime,"text/", 5)==0 ){ |
| 523 | const char *z; |
| 524 | const char *zLn = P("ln"); |
| 525 | content_get(ridSrc, &attach); |
| 526 | blob_to_utf8_no_bom(&attach, 0); |
| 527 | z = blob_str(&attach); |
| 528 | if( zLn ){ |
| 529 | output_text_with_line_numbers(z, zLn); |
| 530 |
| --- src/attach.c | |
| +++ src/attach.c | |
| @@ -365,10 +365,12 @@ | |
| 365 | int modPending; /* True if awaiting moderation */ |
| 366 | const char *zModAction; /* Moderation action or NULL */ |
| 367 | int isModerator; /* TRUE if user is the moderator */ |
| 368 | const char *zMime; /* MIME Type */ |
| 369 | Blob attach; /* Content of the attachment */ |
| 370 | int fShowContent = 0; |
| 371 | const char *zLn = P("ln"); |
| 372 | |
| 373 | login_check_credentials(); |
| 374 | if( !g.perm.RdTkt && !g.perm.RdWiki ){ login_needed(); return; } |
| 375 | rid = name_to_rid_www("name"); |
| 376 | if( rid==0 ){ fossil_redirect_home(); } |
| @@ -391,10 +393,12 @@ | |
| 393 | zTarget = pAttach->zAttachTarget; |
| 394 | zSrc = pAttach->zAttachSrc; |
| 395 | ridSrc = db_int(0,"SELECT rid FROM blob WHERE uuid='%s'", zSrc); |
| 396 | zName = pAttach->zAttachName; |
| 397 | zDesc = pAttach->zComment; |
| 398 | zMime = mimetype_from_name(zName); |
| 399 | fShowContent = zMime ? strncmp(zMime,"text/", 5)==0 : 0; |
| 400 | if( validate16(zTarget, strlen(zTarget)) |
| 401 | && db_exists("SELECT 1 FROM ticket WHERE tkt_uuid='%s'", zTarget) |
| 402 | ){ |
| 403 | zTktUuid = zTarget; |
| 404 | if( !g.perm.RdTkt ){ login_needed(); return; } |
| @@ -464,10 +468,15 @@ | |
| 468 | moderation_approve(rid); |
| 469 | } |
| 470 | } |
| 471 | style_header("Attachment Details"); |
| 472 | style_submenu_element("Raw", "Raw", "%R/artifact/%s", zUuid); |
| 473 | if(fShowContent){ |
| 474 | style_submenu_element("Line Numbers", "Line Numbers", |
| 475 | "%R/ainfo/%s%s",zUuid, |
| 476 | ((zLn&&*zLn) ? "" : "?ln=0")); |
| 477 | } |
| 478 | |
| 479 | @ <div class="section">Overview</div> |
| 480 | @ <p><table class="label-value"> |
| 481 | @ <tr><th>Artifact ID:</th> |
| 482 | @ <td>%z(href("%R/artifact/%s",zUuid))%s(zUuid)</a> |
| @@ -494,11 +503,10 @@ | |
| 503 | @ <td>%z(href("%R/artifact/%s",zSrc))%s(zSrc)</a> |
| 504 | if( g.perm.Setup ){ |
| 505 | @ (%d(ridSrc)) |
| 506 | } |
| 507 | @ <tr><th>Filename:</th><td>%h(zName)</td></tr> |
| 508 | if( g.perm.Setup ){ |
| 509 | @ <tr><th>MIME-Type:</th><td>%h(zMime)</td></tr> |
| 510 | } |
| 511 | @ <tr><th valign="top">Description:</th><td valign="top">%h(zDesc)</td></tr> |
| 512 | @ </table> |
| @@ -517,13 +525,12 @@ | |
| 525 | } |
| 526 | |
| 527 | @ <div class="section">Content Appended</div> |
| 528 | @ <blockquote> |
| 529 | blob_zero(&attach); |
| 530 | if( fShowContent ){ |
| 531 | const char *z; |
| 532 | content_get(ridSrc, &attach); |
| 533 | blob_to_utf8_no_bom(&attach, 0); |
| 534 | z = blob_str(&attach); |
| 535 | if( zLn ){ |
| 536 | output_text_with_line_numbers(z, zLn); |
| 537 |
+9
-6
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -197,11 +197,11 @@ | ||
| 197 | 197 | i64 fsize; |
| 198 | 198 | int verboseFlag = find_option("verbose","v",0)!=0; |
| 199 | 199 | if( !verboseFlag ){ |
| 200 | 200 | verboseFlag = find_option("detail","l",0)!=0; /* deprecated */ |
| 201 | 201 | } |
| 202 | - | |
| 202 | + | |
| 203 | 203 | /* We should be done with options.. */ |
| 204 | 204 | verify_all_options(); |
| 205 | 205 | |
| 206 | 206 | if( g.argc==3 && (fsize = file_size(g.argv[2]))>0 && (fsize&0x1ff)==0 ){ |
| 207 | 207 | db_open_config(0); |
| @@ -1065,28 +1065,28 @@ | ||
| 1065 | 1065 | cmp = -1; |
| 1066 | 1066 | }else{ |
| 1067 | 1067 | cmp = fossil_strcmp(pFileFrom->zName, pFileTo->zName); |
| 1068 | 1068 | } |
| 1069 | 1069 | if( cmp<0 ){ |
| 1070 | - if(!zGlob || strglob(zGlob, pFileFrom->zName)){ | |
| 1070 | + if( !zGlob || sqlite3_strglob(zGlob, pFileFrom->zName)==0 ){ | |
| 1071 | 1071 | append_file_change_line(pFileFrom->zName, |
| 1072 | 1072 | pFileFrom->zUuid, 0, 0, diffFlags, pRe, 0); |
| 1073 | 1073 | } |
| 1074 | 1074 | pFileFrom = manifest_file_next(pFrom, 0); |
| 1075 | 1075 | }else if( cmp>0 ){ |
| 1076 | - if(!zGlob || strglob(zGlob, pFileTo->zName)){ | |
| 1076 | + if( !zGlob || sqlite3_strglob(zGlob, pFileTo->zName)==0 ){ | |
| 1077 | 1077 | append_file_change_line(pFileTo->zName, |
| 1078 | 1078 | 0, pFileTo->zUuid, 0, diffFlags, pRe, |
| 1079 | 1079 | manifest_file_mperm(pFileTo)); |
| 1080 | 1080 | } |
| 1081 | 1081 | pFileTo = manifest_file_next(pTo, 0); |
| 1082 | 1082 | }else if( fossil_strcmp(pFileFrom->zUuid, pFileTo->zUuid)==0 ){ |
| 1083 | 1083 | pFileFrom = manifest_file_next(pFrom, 0); |
| 1084 | 1084 | pFileTo = manifest_file_next(pTo, 0); |
| 1085 | 1085 | }else{ |
| 1086 | - if(!zGlob || (strglob(zGlob, pFileFrom->zName) | |
| 1087 | - || strglob(zGlob, pFileTo->zName))){ | |
| 1086 | + if(!zGlob || (sqlite3_strglob(zGlob, pFileFrom->zName)==0 | |
| 1087 | + || sqlite3_strglob(zGlob, pFileTo->zName)==0) ){ | |
| 1088 | 1088 | append_file_change_line(pFileFrom->zName, |
| 1089 | 1089 | pFileFrom->zUuid, |
| 1090 | 1090 | pFileTo->zUuid, 0, diffFlags, pRe, |
| 1091 | 1091 | manifest_file_mperm(pFileTo)); |
| 1092 | 1092 | } |
| @@ -1744,10 +1744,11 @@ | ||
| 1744 | 1744 | int objType; |
| 1745 | 1745 | int asText; |
| 1746 | 1746 | const char *zUuid; |
| 1747 | 1747 | u32 objdescFlags = 0; |
| 1748 | 1748 | int descOnly = fossil_strcmp(g.zPath,"whatis")==0; |
| 1749 | + const char *zLn = P("ln"); | |
| 1749 | 1750 | |
| 1750 | 1751 | if( P("ci") && P("filename") ){ |
| 1751 | 1752 | rid = artifact_from_ci_and_filename_www(); |
| 1752 | 1753 | } |
| 1753 | 1754 | if( rid==0 ){ |
| @@ -1811,10 +1812,13 @@ | ||
| 1811 | 1812 | style_submenu_element("Parsed", "Parsed", "%R/info/%s", zUuid); |
| 1812 | 1813 | } |
| 1813 | 1814 | if( descOnly ){ |
| 1814 | 1815 | style_submenu_element("Content", "Content", "%R/artifact/%s", zUuid); |
| 1815 | 1816 | }else{ |
| 1817 | + style_submenu_element("Line Numbers", "Line Numbers", | |
| 1818 | + "%R/info/%s%s",zUuid, | |
| 1819 | + ((zLn&&*zLn) ? "" : "?ln=0")); | |
| 1816 | 1820 | @ <hr /> |
| 1817 | 1821 | content_get(rid, &content); |
| 1818 | 1822 | if( renderAsWiki ){ |
| 1819 | 1823 | wiki_render_by_mimetype(&content, zMime); |
| 1820 | 1824 | }else if( renderAsHtml ){ |
| @@ -1827,11 +1831,10 @@ | ||
| 1827 | 1831 | style_submenu_element("Hex","Hex", "%s/hexdump?name=%s", g.zTop, zUuid); |
| 1828 | 1832 | blob_to_utf8_no_bom(&content, 0); |
| 1829 | 1833 | zMime = mimetype_from_content(&content); |
| 1830 | 1834 | @ <blockquote> |
| 1831 | 1835 | if( zMime==0 ){ |
| 1832 | - const char *zLn = P("ln"); | |
| 1833 | 1836 | const char *z; |
| 1834 | 1837 | z = blob_str(&content); |
| 1835 | 1838 | if( zLn ){ |
| 1836 | 1839 | output_text_with_line_numbers(z, zLn); |
| 1837 | 1840 | }else{ |
| 1838 | 1841 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -197,11 +197,11 @@ | |
| 197 | i64 fsize; |
| 198 | int verboseFlag = find_option("verbose","v",0)!=0; |
| 199 | if( !verboseFlag ){ |
| 200 | verboseFlag = find_option("detail","l",0)!=0; /* deprecated */ |
| 201 | } |
| 202 | |
| 203 | /* We should be done with options.. */ |
| 204 | verify_all_options(); |
| 205 | |
| 206 | if( g.argc==3 && (fsize = file_size(g.argv[2]))>0 && (fsize&0x1ff)==0 ){ |
| 207 | db_open_config(0); |
| @@ -1065,28 +1065,28 @@ | |
| 1065 | cmp = -1; |
| 1066 | }else{ |
| 1067 | cmp = fossil_strcmp(pFileFrom->zName, pFileTo->zName); |
| 1068 | } |
| 1069 | if( cmp<0 ){ |
| 1070 | if(!zGlob || strglob(zGlob, pFileFrom->zName)){ |
| 1071 | append_file_change_line(pFileFrom->zName, |
| 1072 | pFileFrom->zUuid, 0, 0, diffFlags, pRe, 0); |
| 1073 | } |
| 1074 | pFileFrom = manifest_file_next(pFrom, 0); |
| 1075 | }else if( cmp>0 ){ |
| 1076 | if(!zGlob || strglob(zGlob, pFileTo->zName)){ |
| 1077 | append_file_change_line(pFileTo->zName, |
| 1078 | 0, pFileTo->zUuid, 0, diffFlags, pRe, |
| 1079 | manifest_file_mperm(pFileTo)); |
| 1080 | } |
| 1081 | pFileTo = manifest_file_next(pTo, 0); |
| 1082 | }else if( fossil_strcmp(pFileFrom->zUuid, pFileTo->zUuid)==0 ){ |
| 1083 | pFileFrom = manifest_file_next(pFrom, 0); |
| 1084 | pFileTo = manifest_file_next(pTo, 0); |
| 1085 | }else{ |
| 1086 | if(!zGlob || (strglob(zGlob, pFileFrom->zName) |
| 1087 | || strglob(zGlob, pFileTo->zName))){ |
| 1088 | append_file_change_line(pFileFrom->zName, |
| 1089 | pFileFrom->zUuid, |
| 1090 | pFileTo->zUuid, 0, diffFlags, pRe, |
| 1091 | manifest_file_mperm(pFileTo)); |
| 1092 | } |
| @@ -1744,10 +1744,11 @@ | |
| 1744 | int objType; |
| 1745 | int asText; |
| 1746 | const char *zUuid; |
| 1747 | u32 objdescFlags = 0; |
| 1748 | int descOnly = fossil_strcmp(g.zPath,"whatis")==0; |
| 1749 | |
| 1750 | if( P("ci") && P("filename") ){ |
| 1751 | rid = artifact_from_ci_and_filename_www(); |
| 1752 | } |
| 1753 | if( rid==0 ){ |
| @@ -1811,10 +1812,13 @@ | |
| 1811 | style_submenu_element("Parsed", "Parsed", "%R/info/%s", zUuid); |
| 1812 | } |
| 1813 | if( descOnly ){ |
| 1814 | style_submenu_element("Content", "Content", "%R/artifact/%s", zUuid); |
| 1815 | }else{ |
| 1816 | @ <hr /> |
| 1817 | content_get(rid, &content); |
| 1818 | if( renderAsWiki ){ |
| 1819 | wiki_render_by_mimetype(&content, zMime); |
| 1820 | }else if( renderAsHtml ){ |
| @@ -1827,11 +1831,10 @@ | |
| 1827 | style_submenu_element("Hex","Hex", "%s/hexdump?name=%s", g.zTop, zUuid); |
| 1828 | blob_to_utf8_no_bom(&content, 0); |
| 1829 | zMime = mimetype_from_content(&content); |
| 1830 | @ <blockquote> |
| 1831 | if( zMime==0 ){ |
| 1832 | const char *zLn = P("ln"); |
| 1833 | const char *z; |
| 1834 | z = blob_str(&content); |
| 1835 | if( zLn ){ |
| 1836 | output_text_with_line_numbers(z, zLn); |
| 1837 | }else{ |
| 1838 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -197,11 +197,11 @@ | |
| 197 | i64 fsize; |
| 198 | int verboseFlag = find_option("verbose","v",0)!=0; |
| 199 | if( !verboseFlag ){ |
| 200 | verboseFlag = find_option("detail","l",0)!=0; /* deprecated */ |
| 201 | } |
| 202 | |
| 203 | /* We should be done with options.. */ |
| 204 | verify_all_options(); |
| 205 | |
| 206 | if( g.argc==3 && (fsize = file_size(g.argv[2]))>0 && (fsize&0x1ff)==0 ){ |
| 207 | db_open_config(0); |
| @@ -1065,28 +1065,28 @@ | |
| 1065 | cmp = -1; |
| 1066 | }else{ |
| 1067 | cmp = fossil_strcmp(pFileFrom->zName, pFileTo->zName); |
| 1068 | } |
| 1069 | if( cmp<0 ){ |
| 1070 | if( !zGlob || sqlite3_strglob(zGlob, pFileFrom->zName)==0 ){ |
| 1071 | append_file_change_line(pFileFrom->zName, |
| 1072 | pFileFrom->zUuid, 0, 0, diffFlags, pRe, 0); |
| 1073 | } |
| 1074 | pFileFrom = manifest_file_next(pFrom, 0); |
| 1075 | }else if( cmp>0 ){ |
| 1076 | if( !zGlob || sqlite3_strglob(zGlob, pFileTo->zName)==0 ){ |
| 1077 | append_file_change_line(pFileTo->zName, |
| 1078 | 0, pFileTo->zUuid, 0, diffFlags, pRe, |
| 1079 | manifest_file_mperm(pFileTo)); |
| 1080 | } |
| 1081 | pFileTo = manifest_file_next(pTo, 0); |
| 1082 | }else if( fossil_strcmp(pFileFrom->zUuid, pFileTo->zUuid)==0 ){ |
| 1083 | pFileFrom = manifest_file_next(pFrom, 0); |
| 1084 | pFileTo = manifest_file_next(pTo, 0); |
| 1085 | }else{ |
| 1086 | if(!zGlob || (sqlite3_strglob(zGlob, pFileFrom->zName)==0 |
| 1087 | || sqlite3_strglob(zGlob, pFileTo->zName)==0) ){ |
| 1088 | append_file_change_line(pFileFrom->zName, |
| 1089 | pFileFrom->zUuid, |
| 1090 | pFileTo->zUuid, 0, diffFlags, pRe, |
| 1091 | manifest_file_mperm(pFileTo)); |
| 1092 | } |
| @@ -1744,10 +1744,11 @@ | |
| 1744 | int objType; |
| 1745 | int asText; |
| 1746 | const char *zUuid; |
| 1747 | u32 objdescFlags = 0; |
| 1748 | int descOnly = fossil_strcmp(g.zPath,"whatis")==0; |
| 1749 | const char *zLn = P("ln"); |
| 1750 | |
| 1751 | if( P("ci") && P("filename") ){ |
| 1752 | rid = artifact_from_ci_and_filename_www(); |
| 1753 | } |
| 1754 | if( rid==0 ){ |
| @@ -1811,10 +1812,13 @@ | |
| 1812 | style_submenu_element("Parsed", "Parsed", "%R/info/%s", zUuid); |
| 1813 | } |
| 1814 | if( descOnly ){ |
| 1815 | style_submenu_element("Content", "Content", "%R/artifact/%s", zUuid); |
| 1816 | }else{ |
| 1817 | style_submenu_element("Line Numbers", "Line Numbers", |
| 1818 | "%R/info/%s%s",zUuid, |
| 1819 | ((zLn&&*zLn) ? "" : "?ln=0")); |
| 1820 | @ <hr /> |
| 1821 | content_get(rid, &content); |
| 1822 | if( renderAsWiki ){ |
| 1823 | wiki_render_by_mimetype(&content, zMime); |
| 1824 | }else if( renderAsHtml ){ |
| @@ -1827,11 +1831,10 @@ | |
| 1831 | style_submenu_element("Hex","Hex", "%s/hexdump?name=%s", g.zTop, zUuid); |
| 1832 | blob_to_utf8_no_bom(&content, 0); |
| 1833 | zMime = mimetype_from_content(&content); |
| 1834 | @ <blockquote> |
| 1835 | if( zMime==0 ){ |
| 1836 | const char *z; |
| 1837 | z = blob_str(&content); |
| 1838 | if( zLn ){ |
| 1839 | output_text_with_line_numbers(z, zLn); |
| 1840 | }else{ |
| 1841 |
+4
-4
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -940,11 +940,11 @@ | ||
| 940 | 940 | void version_cmd(void){ |
| 941 | 941 | int verboseFlag = 0; |
| 942 | 942 | |
| 943 | 943 | fossil_print("This is fossil version %s\n", get_version()); |
| 944 | 944 | verboseFlag = find_option("verbose","v",0)!=0; |
| 945 | - | |
| 945 | + | |
| 946 | 946 | /* We should be done with options.. */ |
| 947 | 947 | verify_all_options(); |
| 948 | 948 | |
| 949 | 949 | if(!verboseFlag){ |
| 950 | 950 | return; |
| @@ -1429,11 +1429,11 @@ | ||
| 1429 | 1429 | continue; |
| 1430 | 1430 | } |
| 1431 | 1431 | if( pFileGlob!=0 |
| 1432 | 1432 | && file_isfile(zRepo) |
| 1433 | 1433 | && glob_match(pFileGlob, zRepo) |
| 1434 | - && strglob("*.fossil*",zRepo)==0 | |
| 1434 | + && sqlite3_strglob("*.fossil*",zRepo)!=0 | |
| 1435 | 1435 | && (zMimetype = mimetype_from_name(zRepo))!=0 |
| 1436 | 1436 | && strcmp(zMimetype, "application/x-fossil-artifact")!=0 |
| 1437 | 1437 | ){ |
| 1438 | 1438 | Blob content; |
| 1439 | 1439 | blob_read_from_file(&content, zRepo); |
| @@ -1935,11 +1935,11 @@ | ||
| 1935 | 1935 | if( zAltBase ) set_base_url(zAltBase); |
| 1936 | 1936 | if( find_option("https",0,0)!=0 ) cgi_replace_parameter("HTTPS","on"); |
| 1937 | 1937 | zHost = find_option("host", 0, 1); |
| 1938 | 1938 | if( zHost ) cgi_replace_parameter("HTTP_HOST",zHost); |
| 1939 | 1939 | g.cgiOutput = 1; |
| 1940 | - | |
| 1940 | + | |
| 1941 | 1941 | /* We should be done with options.. */ |
| 1942 | 1942 | verify_all_options(); |
| 1943 | 1943 | |
| 1944 | 1944 | if( g.argc!=2 && g.argc!=3 && g.argc!=6 ){ |
| 1945 | 1945 | fossil_fatal("no repository specified"); |
| @@ -2125,11 +2125,11 @@ | ||
| 2125 | 2125 | set_base_url(zAltBase); |
| 2126 | 2126 | } |
| 2127 | 2127 | if( find_option("localhost", 0, 0)!=0 ){ |
| 2128 | 2128 | flags |= HTTP_SERVER_LOCALHOST; |
| 2129 | 2129 | } |
| 2130 | - | |
| 2130 | + | |
| 2131 | 2131 | /* We should be done with options.. */ |
| 2132 | 2132 | verify_all_options(); |
| 2133 | 2133 | |
| 2134 | 2134 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2135 | 2135 | isUiCmd = g.argv[1][0]=='u'; |
| 2136 | 2136 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -940,11 +940,11 @@ | |
| 940 | void version_cmd(void){ |
| 941 | int verboseFlag = 0; |
| 942 | |
| 943 | fossil_print("This is fossil version %s\n", get_version()); |
| 944 | verboseFlag = find_option("verbose","v",0)!=0; |
| 945 | |
| 946 | /* We should be done with options.. */ |
| 947 | verify_all_options(); |
| 948 | |
| 949 | if(!verboseFlag){ |
| 950 | return; |
| @@ -1429,11 +1429,11 @@ | |
| 1429 | continue; |
| 1430 | } |
| 1431 | if( pFileGlob!=0 |
| 1432 | && file_isfile(zRepo) |
| 1433 | && glob_match(pFileGlob, zRepo) |
| 1434 | && strglob("*.fossil*",zRepo)==0 |
| 1435 | && (zMimetype = mimetype_from_name(zRepo))!=0 |
| 1436 | && strcmp(zMimetype, "application/x-fossil-artifact")!=0 |
| 1437 | ){ |
| 1438 | Blob content; |
| 1439 | blob_read_from_file(&content, zRepo); |
| @@ -1935,11 +1935,11 @@ | |
| 1935 | if( zAltBase ) set_base_url(zAltBase); |
| 1936 | if( find_option("https",0,0)!=0 ) cgi_replace_parameter("HTTPS","on"); |
| 1937 | zHost = find_option("host", 0, 1); |
| 1938 | if( zHost ) cgi_replace_parameter("HTTP_HOST",zHost); |
| 1939 | g.cgiOutput = 1; |
| 1940 | |
| 1941 | /* We should be done with options.. */ |
| 1942 | verify_all_options(); |
| 1943 | |
| 1944 | if( g.argc!=2 && g.argc!=3 && g.argc!=6 ){ |
| 1945 | fossil_fatal("no repository specified"); |
| @@ -2125,11 +2125,11 @@ | |
| 2125 | set_base_url(zAltBase); |
| 2126 | } |
| 2127 | if( find_option("localhost", 0, 0)!=0 ){ |
| 2128 | flags |= HTTP_SERVER_LOCALHOST; |
| 2129 | } |
| 2130 | |
| 2131 | /* We should be done with options.. */ |
| 2132 | verify_all_options(); |
| 2133 | |
| 2134 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2135 | isUiCmd = g.argv[1][0]=='u'; |
| 2136 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -940,11 +940,11 @@ | |
| 940 | void version_cmd(void){ |
| 941 | int verboseFlag = 0; |
| 942 | |
| 943 | fossil_print("This is fossil version %s\n", get_version()); |
| 944 | verboseFlag = find_option("verbose","v",0)!=0; |
| 945 | |
| 946 | /* We should be done with options.. */ |
| 947 | verify_all_options(); |
| 948 | |
| 949 | if(!verboseFlag){ |
| 950 | return; |
| @@ -1429,11 +1429,11 @@ | |
| 1429 | continue; |
| 1430 | } |
| 1431 | if( pFileGlob!=0 |
| 1432 | && file_isfile(zRepo) |
| 1433 | && glob_match(pFileGlob, zRepo) |
| 1434 | && sqlite3_strglob("*.fossil*",zRepo)!=0 |
| 1435 | && (zMimetype = mimetype_from_name(zRepo))!=0 |
| 1436 | && strcmp(zMimetype, "application/x-fossil-artifact")!=0 |
| 1437 | ){ |
| 1438 | Blob content; |
| 1439 | blob_read_from_file(&content, zRepo); |
| @@ -1935,11 +1935,11 @@ | |
| 1935 | if( zAltBase ) set_base_url(zAltBase); |
| 1936 | if( find_option("https",0,0)!=0 ) cgi_replace_parameter("HTTPS","on"); |
| 1937 | zHost = find_option("host", 0, 1); |
| 1938 | if( zHost ) cgi_replace_parameter("HTTP_HOST",zHost); |
| 1939 | g.cgiOutput = 1; |
| 1940 | |
| 1941 | /* We should be done with options.. */ |
| 1942 | verify_all_options(); |
| 1943 | |
| 1944 | if( g.argc!=2 && g.argc!=3 && g.argc!=6 ){ |
| 1945 | fossil_fatal("no repository specified"); |
| @@ -2125,11 +2125,11 @@ | |
| 2125 | set_base_url(zAltBase); |
| 2126 | } |
| 2127 | if( find_option("localhost", 0, 0)!=0 ){ |
| 2128 | flags |= HTTP_SERVER_LOCALHOST; |
| 2129 | } |
| 2130 | |
| 2131 | /* We should be done with options.. */ |
| 2132 | verify_all_options(); |
| 2133 | |
| 2134 | if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?"); |
| 2135 | isUiCmd = g.argv[1][0]=='u'; |
| 2136 |
+3
-3
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -403,11 +403,11 @@ | ||
| 403 | 403 | |
| 404 | 404 | # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set |
| 405 | 405 | # to 1. If it is set to 1, then there is no need to build or link |
| 406 | 406 | # the sqlite3.o object. Instead, the system sqlite will be linked |
| 407 | 407 | # using -lsqlite3. |
| 408 | -SQLITE3_OBJ.1 = | |
| 408 | +SQLITE3_OBJ.1 = | |
| 409 | 409 | SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o |
| 410 | 410 | SQLITE3_OBJ. = $(SQLITE3_OBJ.0) |
| 411 | 411 | |
| 412 | 412 | EXTRAOBJ = $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(OBJDIR)/th_tcl.o $(OBJDIR)/cson_amalgamation.o |
| 413 | 413 | |
| @@ -415,14 +415,14 @@ | ||
| 415 | 415 | $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) |
| 416 | 416 | |
| 417 | 417 | # This rule prevents make from using its default rules to try build |
| 418 | 418 | # an executable named "manifest" out of the file named "manifest.c" |
| 419 | 419 | # |
| 420 | -$(SRCDIR)/../manifest: | |
| 420 | +$(SRCDIR)/../manifest: | |
| 421 | 421 | # noop |
| 422 | 422 | |
| 423 | -clean: | |
| 423 | +clean: | |
| 424 | 424 | rm -rf $(OBJDIR)/* $(APPNAME) |
| 425 | 425 | |
| 426 | 426 | |
| 427 | 427 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 428 | 428 | $(OBJDIR)/mkindex $(TRANS_SRC) >$@ |
| 429 | 429 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -403,11 +403,11 @@ | |
| 403 | |
| 404 | # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set |
| 405 | # to 1. If it is set to 1, then there is no need to build or link |
| 406 | # the sqlite3.o object. Instead, the system sqlite will be linked |
| 407 | # using -lsqlite3. |
| 408 | SQLITE3_OBJ.1 = |
| 409 | SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o |
| 410 | SQLITE3_OBJ. = $(SQLITE3_OBJ.0) |
| 411 | |
| 412 | EXTRAOBJ = $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(OBJDIR)/th_tcl.o $(OBJDIR)/cson_amalgamation.o |
| 413 | |
| @@ -415,14 +415,14 @@ | |
| 415 | $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) |
| 416 | |
| 417 | # This rule prevents make from using its default rules to try build |
| 418 | # an executable named "manifest" out of the file named "manifest.c" |
| 419 | # |
| 420 | $(SRCDIR)/../manifest: |
| 421 | # noop |
| 422 | |
| 423 | clean: |
| 424 | rm -rf $(OBJDIR)/* $(APPNAME) |
| 425 | |
| 426 | |
| 427 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 428 | $(OBJDIR)/mkindex $(TRANS_SRC) >$@ |
| 429 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -403,11 +403,11 @@ | |
| 403 | |
| 404 | # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set |
| 405 | # to 1. If it is set to 1, then there is no need to build or link |
| 406 | # the sqlite3.o object. Instead, the system sqlite will be linked |
| 407 | # using -lsqlite3. |
| 408 | SQLITE3_OBJ.1 = |
| 409 | SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o |
| 410 | SQLITE3_OBJ. = $(SQLITE3_OBJ.0) |
| 411 | |
| 412 | EXTRAOBJ = $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) $(OBJDIR)/shell.o $(OBJDIR)/th.o $(OBJDIR)/th_lang.o $(OBJDIR)/th_tcl.o $(OBJDIR)/cson_amalgamation.o |
| 413 | |
| @@ -415,14 +415,14 @@ | |
| 415 | $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) |
| 416 | |
| 417 | # This rule prevents make from using its default rules to try build |
| 418 | # an executable named "manifest" out of the file named "manifest.c" |
| 419 | # |
| 420 | $(SRCDIR)/../manifest: |
| 421 | # noop |
| 422 | |
| 423 | clean: |
| 424 | rm -rf $(OBJDIR)/* $(APPNAME) |
| 425 | |
| 426 | |
| 427 | $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex |
| 428 | $(OBJDIR)/mkindex $(TRANS_SRC) >$@ |
| 429 |
+51
-25
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -268,11 +268,11 @@ | ||
| 268 | 268 | |
| 269 | 269 | # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set |
| 270 | 270 | # to 1. If it is set to 1, then there is no need to build or link |
| 271 | 271 | # the sqlite3.o object. Instead, the system sqlite will be linked |
| 272 | 272 | # using -lsqlite3. |
| 273 | -SQLITE3_OBJ.1 = | |
| 273 | +SQLITE3_OBJ.1 = | |
| 274 | 274 | SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o |
| 275 | 275 | SQLITE3_OBJ. = $(SQLITE3_OBJ.0) |
| 276 | 276 | |
| 277 | 277 | EXTRAOBJ = \ |
| 278 | 278 | $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) \ |
| @@ -286,14 +286,14 @@ | ||
| 286 | 286 | $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) |
| 287 | 287 | |
| 288 | 288 | # This rule prevents make from using its default rules to try build |
| 289 | 289 | # an executable named "manifest" out of the file named "manifest.c" |
| 290 | 290 | # |
| 291 | -$(SRCDIR)/../manifest: | |
| 291 | +$(SRCDIR)/../manifest: | |
| 292 | 292 | # noop |
| 293 | 293 | |
| 294 | -clean: | |
| 294 | +clean: | |
| 295 | 295 | rm -rf $(OBJDIR)/* $(APPNAME) |
| 296 | 296 | |
| 297 | 297 | }] |
| 298 | 298 | |
| 299 | 299 | set mhargs {} |
| @@ -580,25 +580,30 @@ | ||
| 580 | 580 | #### We add the -static option here so that we can build a static |
| 581 | 581 | # executable that will run in a chroot jail. |
| 582 | 582 | # |
| 583 | 583 | LIB = -static |
| 584 | 584 | |
| 585 | -# MinGW: If available, use the Unicode capable runtime startup code. | |
| 585 | +#### MinGW: If available, use the Unicode capable runtime startup code. | |
| 586 | +# | |
| 586 | 587 | ifndef MINGW_IS_32BIT_ONLY |
| 587 | 588 | LIB += -municode |
| 588 | 589 | endif |
| 589 | 590 | |
| 591 | +#### SQLite: If enabled, use the system SQLite library. | |
| 592 | +# | |
| 590 | 593 | ifdef USE_SYSTEM_SQLITE |
| 591 | 594 | LIB += -lsqlite3 |
| 592 | 595 | endif |
| 593 | 596 | |
| 594 | -# OpenSSL: Add the necessary libraries required, if enabled. | |
| 597 | +#### OpenSSL: Add the necessary libraries required, if enabled. | |
| 598 | +# | |
| 595 | 599 | ifdef FOSSIL_ENABLE_SSL |
| 596 | 600 | LIB += -lssl -lcrypto -lgdi32 |
| 597 | 601 | endif |
| 598 | 602 | |
| 599 | -# Tcl: Add the necessary libraries required, if enabled. | |
| 603 | +#### Tcl: Add the necessary libraries required, if enabled. | |
| 604 | +# | |
| 600 | 605 | ifdef FOSSIL_ENABLE_TCL |
| 601 | 606 | LIB += $(LIBTCL) |
| 602 | 607 | endif |
| 603 | 608 | |
| 604 | 609 | #### Extra arguments for linking the finished binary. Fossil needs |
| @@ -921,11 +926,11 @@ | ||
| 921 | 926 | APPNAME = $(OBJDIR)\fossil$(E) |
| 922 | 927 | |
| 923 | 928 | all: $(APPNAME) |
| 924 | 929 | |
| 925 | 930 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\link |
| 926 | - cd $(OBJDIR) | |
| 931 | + cd $(OBJDIR) | |
| 927 | 932 | $(DMDIR)\bin\link @link |
| 928 | 933 | |
| 929 | 934 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 930 | 935 | $(RC) $(RCFLAGS) -o$@ $** |
| 931 | 936 | |
| @@ -970,11 +975,11 @@ | ||
| 970 | 975 | cp $@ $@ |
| 971 | 976 | |
| 972 | 977 | VERSION.h : version$E $B\manifest.uuid $B\manifest $B\VERSION |
| 973 | 978 | +$** > $@ |
| 974 | 979 | |
| 975 | -page_index.h: mkindex$E $(SRC) | |
| 980 | +page_index.h: mkindex$E $(SRC) | |
| 976 | 981 | +$** > $@ |
| 977 | 982 | |
| 978 | 983 | clean: |
| 979 | 984 | -del $(OBJDIR)\*.obj |
| 980 | 985 | -del *.obj *_.c *.h *.map |
| @@ -1033,17 +1038,19 @@ | ||
| 1033 | 1038 | # |
| 1034 | 1039 | # This file is automatically generated. Instead of editing this |
| 1035 | 1040 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1036 | 1041 | # to regenerate this file. |
| 1037 | 1042 | # |
| 1038 | -B = .. | |
| 1039 | -SRCDIR = $B\src | |
| 1040 | -OBJDIR = . | |
| 1041 | -OX = . | |
| 1042 | -O = .obj | |
| 1043 | -E = .exe | |
| 1044 | -P = .pdb | |
| 1043 | +B = .. | |
| 1044 | +SRCDIR = $B\src | |
| 1045 | +OBJDIR = . | |
| 1046 | +OX = . | |
| 1047 | +O = .obj | |
| 1048 | +E = .exe | |
| 1049 | +P = .pdb | |
| 1050 | +PERLDIR = | |
| 1051 | +PERL = perl.exe | |
| 1045 | 1052 | |
| 1046 | 1053 | # Uncomment to enable debug symbols |
| 1047 | 1054 | # DEBUG = 1 |
| 1048 | 1055 | |
| 1049 | 1056 | # Uncomment to enable JSON API |
| @@ -1057,12 +1064,13 @@ | ||
| 1057 | 1064 | |
| 1058 | 1065 | # Uncomment to enable Tcl support |
| 1059 | 1066 | # FOSSIL_ENABLE_TCL = 1 |
| 1060 | 1067 | |
| 1061 | 1068 | !ifdef FOSSIL_ENABLE_SSL |
| 1062 | -SSLINCDIR = $(B)\compat\openssl-1.0.1i\include | |
| 1063 | -SSLLIBDIR = $(B)\compat\openssl-1.0.1i\out32 | |
| 1069 | +SSLDIR = $(B)\compat\openssl-1.0.1i | |
| 1070 | +SSLINCDIR = $(SSLDIR)\include | |
| 1071 | +SSLLIBDIR = $(SSLDIR)\out32 | |
| 1064 | 1072 | SSLLIB = ssleay32.lib libeay32.lib user32.lib gdi32.lib |
| 1065 | 1073 | !endif |
| 1066 | 1074 | |
| 1067 | 1075 | !ifdef FOSSIL_ENABLE_TCL |
| 1068 | 1076 | TCLDIR = $(B)\compat\tcl-8.6 |
| @@ -1158,21 +1166,39 @@ | ||
| 1158 | 1166 | writeln -nonewline "\$(OX)\\$s\$O"; incr i |
| 1159 | 1167 | } |
| 1160 | 1168 | writeln " \\" |
| 1161 | 1169 | writeln -nonewline " \$(OX)\\fossil.res\n\n" |
| 1162 | 1170 | writeln { |
| 1163 | -APPNAME = $(OX)\fossil$(E) | |
| 1164 | -PDBNAME = $(OX)\fossil$(P) | |
| 1171 | +APPNAME = $(OX)\fossil$(E) | |
| 1172 | +PDBNAME = $(OX)\fossil$(P) | |
| 1173 | +APPTARGETS = | |
| 1165 | 1174 | |
| 1166 | 1175 | all: $(OX) $(APPNAME) |
| 1167 | 1176 | |
| 1168 | 1177 | zlib: |
| 1169 | 1178 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1170 | - @pushd "$(ZLIBDIR)" && nmake /f win32\Makefile.msc $(ZLIB) && popd | |
| 1179 | + @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd | |
| 1180 | + | |
| 1181 | +!ifdef FOSSIL_ENABLE_SSL | |
| 1182 | +openssl: | |
| 1183 | + @echo Building OpenSSL from "$(SSLDIR)"... | |
| 1184 | +!if "$(PERLDIR)" != "" | |
| 1185 | + @set PATH=$(PERLDIR);$(PATH) | |
| 1186 | +!endif | |
| 1187 | + @pushd "$(SSLDIR)" && $(PERL) Configure VC-WIN32 no-asm && popd | |
| 1188 | + @pushd "$(SSLDIR)" && call ms\do_ms.bat && popd | |
| 1189 | + @pushd "$(SSLDIR)" && $(MAKE) /f ms\nt.mak all && popd | |
| 1190 | +!endif | |
| 1191 | + | |
| 1192 | +APPTARGETS = $(APPTARGETS) zlib | |
| 1193 | + | |
| 1194 | +!ifdef FOSSIL_ENABLE_SSL | |
| 1195 | +APPTARGETS = $(APPTARGETS) openssl | |
| 1196 | +!endif | |
| 1171 | 1197 | |
| 1172 | -$(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts zlib | |
| 1173 | - cd $(OX) | |
| 1198 | +$(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts $(APPTARGETS) | |
| 1199 | + cd $(OX) | |
| 1174 | 1200 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 1175 | 1201 | |
| 1176 | 1202 | $(OX)\linkopts: $B\win\Makefile.msc} |
| 1177 | 1203 | set redir {>} |
| 1178 | 1204 | foreach s [lsort [concat $src $AdditionalObj]] { |
| @@ -1215,11 +1241,11 @@ | ||
| 1215 | 1241 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 1216 | 1242 | $** > $@ |
| 1217 | 1243 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 1218 | 1244 | $(TCC) /Fo$@ /c $** |
| 1219 | 1245 | |
| 1220 | -page_index.h: mkindex$E $(SRC) | |
| 1246 | +page_index.h: mkindex$E $(SRC) | |
| 1221 | 1247 | $** > $@ |
| 1222 | 1248 | |
| 1223 | 1249 | clean: |
| 1224 | 1250 | -del $(OX)\*.obj |
| 1225 | 1251 | -del *.obj |
| @@ -1333,13 +1359,13 @@ | ||
| 1333 | 1359 | # and |
| 1334 | 1360 | # PellesC 6.00.4 |
| 1335 | 1361 | # gmake 3.80 |
| 1336 | 1362 | # zlib sources 1.2.5 |
| 1337 | 1363 | # Windows 7 Home Premium |
| 1338 | -# | |
| 1364 | +# | |
| 1339 | 1365 | |
| 1340 | -# | |
| 1366 | +# | |
| 1341 | 1367 | PellesCDir=c:\Programme\PellesC |
| 1342 | 1368 | |
| 1343 | 1369 | # Select between 32/64 bit code, default is 32 bit |
| 1344 | 1370 | #TARGETVERSION=64 |
| 1345 | 1371 | |
| 1346 | 1372 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -268,11 +268,11 @@ | |
| 268 | |
| 269 | # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set |
| 270 | # to 1. If it is set to 1, then there is no need to build or link |
| 271 | # the sqlite3.o object. Instead, the system sqlite will be linked |
| 272 | # using -lsqlite3. |
| 273 | SQLITE3_OBJ.1 = |
| 274 | SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o |
| 275 | SQLITE3_OBJ. = $(SQLITE3_OBJ.0) |
| 276 | |
| 277 | EXTRAOBJ = \ |
| 278 | $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) \ |
| @@ -286,14 +286,14 @@ | |
| 286 | $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) |
| 287 | |
| 288 | # This rule prevents make from using its default rules to try build |
| 289 | # an executable named "manifest" out of the file named "manifest.c" |
| 290 | # |
| 291 | $(SRCDIR)/../manifest: |
| 292 | # noop |
| 293 | |
| 294 | clean: |
| 295 | rm -rf $(OBJDIR)/* $(APPNAME) |
| 296 | |
| 297 | }] |
| 298 | |
| 299 | set mhargs {} |
| @@ -580,25 +580,30 @@ | |
| 580 | #### We add the -static option here so that we can build a static |
| 581 | # executable that will run in a chroot jail. |
| 582 | # |
| 583 | LIB = -static |
| 584 | |
| 585 | # MinGW: If available, use the Unicode capable runtime startup code. |
| 586 | ifndef MINGW_IS_32BIT_ONLY |
| 587 | LIB += -municode |
| 588 | endif |
| 589 | |
| 590 | ifdef USE_SYSTEM_SQLITE |
| 591 | LIB += -lsqlite3 |
| 592 | endif |
| 593 | |
| 594 | # OpenSSL: Add the necessary libraries required, if enabled. |
| 595 | ifdef FOSSIL_ENABLE_SSL |
| 596 | LIB += -lssl -lcrypto -lgdi32 |
| 597 | endif |
| 598 | |
| 599 | # Tcl: Add the necessary libraries required, if enabled. |
| 600 | ifdef FOSSIL_ENABLE_TCL |
| 601 | LIB += $(LIBTCL) |
| 602 | endif |
| 603 | |
| 604 | #### Extra arguments for linking the finished binary. Fossil needs |
| @@ -921,11 +926,11 @@ | |
| 921 | APPNAME = $(OBJDIR)\fossil$(E) |
| 922 | |
| 923 | all: $(APPNAME) |
| 924 | |
| 925 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\link |
| 926 | cd $(OBJDIR) |
| 927 | $(DMDIR)\bin\link @link |
| 928 | |
| 929 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 930 | $(RC) $(RCFLAGS) -o$@ $** |
| 931 | |
| @@ -970,11 +975,11 @@ | |
| 970 | cp $@ $@ |
| 971 | |
| 972 | VERSION.h : version$E $B\manifest.uuid $B\manifest $B\VERSION |
| 973 | +$** > $@ |
| 974 | |
| 975 | page_index.h: mkindex$E $(SRC) |
| 976 | +$** > $@ |
| 977 | |
| 978 | clean: |
| 979 | -del $(OBJDIR)\*.obj |
| 980 | -del *.obj *_.c *.h *.map |
| @@ -1033,17 +1038,19 @@ | |
| 1033 | # |
| 1034 | # This file is automatically generated. Instead of editing this |
| 1035 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1036 | # to regenerate this file. |
| 1037 | # |
| 1038 | B = .. |
| 1039 | SRCDIR = $B\src |
| 1040 | OBJDIR = . |
| 1041 | OX = . |
| 1042 | O = .obj |
| 1043 | E = .exe |
| 1044 | P = .pdb |
| 1045 | |
| 1046 | # Uncomment to enable debug symbols |
| 1047 | # DEBUG = 1 |
| 1048 | |
| 1049 | # Uncomment to enable JSON API |
| @@ -1057,12 +1064,13 @@ | |
| 1057 | |
| 1058 | # Uncomment to enable Tcl support |
| 1059 | # FOSSIL_ENABLE_TCL = 1 |
| 1060 | |
| 1061 | !ifdef FOSSIL_ENABLE_SSL |
| 1062 | SSLINCDIR = $(B)\compat\openssl-1.0.1i\include |
| 1063 | SSLLIBDIR = $(B)\compat\openssl-1.0.1i\out32 |
| 1064 | SSLLIB = ssleay32.lib libeay32.lib user32.lib gdi32.lib |
| 1065 | !endif |
| 1066 | |
| 1067 | !ifdef FOSSIL_ENABLE_TCL |
| 1068 | TCLDIR = $(B)\compat\tcl-8.6 |
| @@ -1158,21 +1166,39 @@ | |
| 1158 | writeln -nonewline "\$(OX)\\$s\$O"; incr i |
| 1159 | } |
| 1160 | writeln " \\" |
| 1161 | writeln -nonewline " \$(OX)\\fossil.res\n\n" |
| 1162 | writeln { |
| 1163 | APPNAME = $(OX)\fossil$(E) |
| 1164 | PDBNAME = $(OX)\fossil$(P) |
| 1165 | |
| 1166 | all: $(OX) $(APPNAME) |
| 1167 | |
| 1168 | zlib: |
| 1169 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1170 | @pushd "$(ZLIBDIR)" && nmake /f win32\Makefile.msc $(ZLIB) && popd |
| 1171 | |
| 1172 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts zlib |
| 1173 | cd $(OX) |
| 1174 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 1175 | |
| 1176 | $(OX)\linkopts: $B\win\Makefile.msc} |
| 1177 | set redir {>} |
| 1178 | foreach s [lsort [concat $src $AdditionalObj]] { |
| @@ -1215,11 +1241,11 @@ | |
| 1215 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 1216 | $** > $@ |
| 1217 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 1218 | $(TCC) /Fo$@ /c $** |
| 1219 | |
| 1220 | page_index.h: mkindex$E $(SRC) |
| 1221 | $** > $@ |
| 1222 | |
| 1223 | clean: |
| 1224 | -del $(OX)\*.obj |
| 1225 | -del *.obj |
| @@ -1333,13 +1359,13 @@ | |
| 1333 | # and |
| 1334 | # PellesC 6.00.4 |
| 1335 | # gmake 3.80 |
| 1336 | # zlib sources 1.2.5 |
| 1337 | # Windows 7 Home Premium |
| 1338 | # |
| 1339 | |
| 1340 | # |
| 1341 | PellesCDir=c:\Programme\PellesC |
| 1342 | |
| 1343 | # Select between 32/64 bit code, default is 32 bit |
| 1344 | #TARGETVERSION=64 |
| 1345 | |
| 1346 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -268,11 +268,11 @@ | |
| 268 | |
| 269 | # The USE_SYSTEM_SQLITE variable may be undefined, set to 0, or set |
| 270 | # to 1. If it is set to 1, then there is no need to build or link |
| 271 | # the sqlite3.o object. Instead, the system sqlite will be linked |
| 272 | # using -lsqlite3. |
| 273 | SQLITE3_OBJ.1 = |
| 274 | SQLITE3_OBJ.0 = $(OBJDIR)/sqlite3.o |
| 275 | SQLITE3_OBJ. = $(SQLITE3_OBJ.0) |
| 276 | |
| 277 | EXTRAOBJ = \ |
| 278 | $(SQLITE3_OBJ.$(USE_SYSTEM_SQLITE)) \ |
| @@ -286,14 +286,14 @@ | |
| 286 | $(TCC) -o $(APPNAME) $(OBJ) $(EXTRAOBJ) $(LIB) |
| 287 | |
| 288 | # This rule prevents make from using its default rules to try build |
| 289 | # an executable named "manifest" out of the file named "manifest.c" |
| 290 | # |
| 291 | $(SRCDIR)/../manifest: |
| 292 | # noop |
| 293 | |
| 294 | clean: |
| 295 | rm -rf $(OBJDIR)/* $(APPNAME) |
| 296 | |
| 297 | }] |
| 298 | |
| 299 | set mhargs {} |
| @@ -580,25 +580,30 @@ | |
| 580 | #### We add the -static option here so that we can build a static |
| 581 | # executable that will run in a chroot jail. |
| 582 | # |
| 583 | LIB = -static |
| 584 | |
| 585 | #### MinGW: If available, use the Unicode capable runtime startup code. |
| 586 | # |
| 587 | ifndef MINGW_IS_32BIT_ONLY |
| 588 | LIB += -municode |
| 589 | endif |
| 590 | |
| 591 | #### SQLite: If enabled, use the system SQLite library. |
| 592 | # |
| 593 | ifdef USE_SYSTEM_SQLITE |
| 594 | LIB += -lsqlite3 |
| 595 | endif |
| 596 | |
| 597 | #### OpenSSL: Add the necessary libraries required, if enabled. |
| 598 | # |
| 599 | ifdef FOSSIL_ENABLE_SSL |
| 600 | LIB += -lssl -lcrypto -lgdi32 |
| 601 | endif |
| 602 | |
| 603 | #### Tcl: Add the necessary libraries required, if enabled. |
| 604 | # |
| 605 | ifdef FOSSIL_ENABLE_TCL |
| 606 | LIB += $(LIBTCL) |
| 607 | endif |
| 608 | |
| 609 | #### Extra arguments for linking the finished binary. Fossil needs |
| @@ -921,11 +926,11 @@ | |
| 926 | APPNAME = $(OBJDIR)\fossil$(E) |
| 927 | |
| 928 | all: $(APPNAME) |
| 929 | |
| 930 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\link |
| 931 | cd $(OBJDIR) |
| 932 | $(DMDIR)\bin\link @link |
| 933 | |
| 934 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 935 | $(RC) $(RCFLAGS) -o$@ $** |
| 936 | |
| @@ -970,11 +975,11 @@ | |
| 975 | cp $@ $@ |
| 976 | |
| 977 | VERSION.h : version$E $B\manifest.uuid $B\manifest $B\VERSION |
| 978 | +$** > $@ |
| 979 | |
| 980 | page_index.h: mkindex$E $(SRC) |
| 981 | +$** > $@ |
| 982 | |
| 983 | clean: |
| 984 | -del $(OBJDIR)\*.obj |
| 985 | -del *.obj *_.c *.h *.map |
| @@ -1033,17 +1038,19 @@ | |
| 1038 | # |
| 1039 | # This file is automatically generated. Instead of editing this |
| 1040 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 1041 | # to regenerate this file. |
| 1042 | # |
| 1043 | B = .. |
| 1044 | SRCDIR = $B\src |
| 1045 | OBJDIR = . |
| 1046 | OX = . |
| 1047 | O = .obj |
| 1048 | E = .exe |
| 1049 | P = .pdb |
| 1050 | PERLDIR = |
| 1051 | PERL = perl.exe |
| 1052 | |
| 1053 | # Uncomment to enable debug symbols |
| 1054 | # DEBUG = 1 |
| 1055 | |
| 1056 | # Uncomment to enable JSON API |
| @@ -1057,12 +1064,13 @@ | |
| 1064 | |
| 1065 | # Uncomment to enable Tcl support |
| 1066 | # FOSSIL_ENABLE_TCL = 1 |
| 1067 | |
| 1068 | !ifdef FOSSIL_ENABLE_SSL |
| 1069 | SSLDIR = $(B)\compat\openssl-1.0.1i |
| 1070 | SSLINCDIR = $(SSLDIR)\include |
| 1071 | SSLLIBDIR = $(SSLDIR)\out32 |
| 1072 | SSLLIB = ssleay32.lib libeay32.lib user32.lib gdi32.lib |
| 1073 | !endif |
| 1074 | |
| 1075 | !ifdef FOSSIL_ENABLE_TCL |
| 1076 | TCLDIR = $(B)\compat\tcl-8.6 |
| @@ -1158,21 +1166,39 @@ | |
| 1166 | writeln -nonewline "\$(OX)\\$s\$O"; incr i |
| 1167 | } |
| 1168 | writeln " \\" |
| 1169 | writeln -nonewline " \$(OX)\\fossil.res\n\n" |
| 1170 | writeln { |
| 1171 | APPNAME = $(OX)\fossil$(E) |
| 1172 | PDBNAME = $(OX)\fossil$(P) |
| 1173 | APPTARGETS = |
| 1174 | |
| 1175 | all: $(OX) $(APPNAME) |
| 1176 | |
| 1177 | zlib: |
| 1178 | @echo Building zlib from "$(ZLIBDIR)"... |
| 1179 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 1180 | |
| 1181 | !ifdef FOSSIL_ENABLE_SSL |
| 1182 | openssl: |
| 1183 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 1184 | !if "$(PERLDIR)" != "" |
| 1185 | @set PATH=$(PERLDIR);$(PATH) |
| 1186 | !endif |
| 1187 | @pushd "$(SSLDIR)" && $(PERL) Configure VC-WIN32 no-asm && popd |
| 1188 | @pushd "$(SSLDIR)" && call ms\do_ms.bat && popd |
| 1189 | @pushd "$(SSLDIR)" && $(MAKE) /f ms\nt.mak all && popd |
| 1190 | !endif |
| 1191 | |
| 1192 | APPTARGETS = $(APPTARGETS) zlib |
| 1193 | |
| 1194 | !ifdef FOSSIL_ENABLE_SSL |
| 1195 | APPTARGETS = $(APPTARGETS) openssl |
| 1196 | !endif |
| 1197 | |
| 1198 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts $(APPTARGETS) |
| 1199 | cd $(OX) |
| 1200 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 1201 | |
| 1202 | $(OX)\linkopts: $B\win\Makefile.msc} |
| 1203 | set redir {>} |
| 1204 | foreach s [lsort [concat $src $AdditionalObj]] { |
| @@ -1215,11 +1241,11 @@ | |
| 1241 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 1242 | $** > $@ |
| 1243 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 1244 | $(TCC) /Fo$@ /c $** |
| 1245 | |
| 1246 | page_index.h: mkindex$E $(SRC) |
| 1247 | $** > $@ |
| 1248 | |
| 1249 | clean: |
| 1250 | -del $(OX)\*.obj |
| 1251 | -del *.obj |
| @@ -1333,13 +1359,13 @@ | |
| 1359 | # and |
| 1360 | # PellesC 6.00.4 |
| 1361 | # gmake 3.80 |
| 1362 | # zlib sources 1.2.5 |
| 1363 | # Windows 7 Home Premium |
| 1364 | # |
| 1365 | |
| 1366 | # |
| 1367 | PellesCDir=c:\Programme\PellesC |
| 1368 | |
| 1369 | # Select between 32/64 bit code, default is 32 bit |
| 1370 | #TARGETVERSION=64 |
| 1371 | |
| 1372 |
+2
-2
| --- src/tag.c | ||
| +++ src/tag.c | ||
| @@ -354,11 +354,11 @@ | ||
| 354 | 354 | ** |
| 355 | 355 | ** List all objects that use TAGNAME. TYPE can be "ci" for |
| 356 | 356 | ** checkins or "e" for events. The limit option limits the number |
| 357 | 357 | ** of results to the given value. |
| 358 | 358 | ** |
| 359 | -** %fossil tag list ?--raw? ?CHECK-IN? | |
| 359 | +** %fossil tag list|ls ?--raw? ?CHECK-IN? | |
| 360 | 360 | ** |
| 361 | 361 | ** List all tags, or if CHECK-IN is supplied, list |
| 362 | 362 | ** all tags and their values for CHECK-IN. |
| 363 | 363 | ** |
| 364 | 364 | ** The option --raw allows the manipulation of all types of tags |
| @@ -475,11 +475,11 @@ | ||
| 475 | 475 | db_finalize(&q); |
| 476 | 476 | } |
| 477 | 477 | } |
| 478 | 478 | }else |
| 479 | 479 | |
| 480 | - if( strncmp(g.argv[2],"list",n)==0 ){ | |
| 480 | + if(( strncmp(g.argv[2],"list",n)==0 )||( strncmp(g.argv[2],"ls",n)==0 )){ | |
| 481 | 481 | Stmt q; |
| 482 | 482 | if( g.argc==3 ){ |
| 483 | 483 | db_prepare(&q, |
| 484 | 484 | "SELECT tagname FROM tag" |
| 485 | 485 | " WHERE EXISTS(SELECT 1 FROM tagxref" |
| 486 | 486 | |
| 487 | 487 | ADDED test/merge6.test |
| --- src/tag.c | |
| +++ src/tag.c | |
| @@ -354,11 +354,11 @@ | |
| 354 | ** |
| 355 | ** List all objects that use TAGNAME. TYPE can be "ci" for |
| 356 | ** checkins or "e" for events. The limit option limits the number |
| 357 | ** of results to the given value. |
| 358 | ** |
| 359 | ** %fossil tag list ?--raw? ?CHECK-IN? |
| 360 | ** |
| 361 | ** List all tags, or if CHECK-IN is supplied, list |
| 362 | ** all tags and their values for CHECK-IN. |
| 363 | ** |
| 364 | ** The option --raw allows the manipulation of all types of tags |
| @@ -475,11 +475,11 @@ | |
| 475 | db_finalize(&q); |
| 476 | } |
| 477 | } |
| 478 | }else |
| 479 | |
| 480 | if( strncmp(g.argv[2],"list",n)==0 ){ |
| 481 | Stmt q; |
| 482 | if( g.argc==3 ){ |
| 483 | db_prepare(&q, |
| 484 | "SELECT tagname FROM tag" |
| 485 | " WHERE EXISTS(SELECT 1 FROM tagxref" |
| 486 | |
| 487 | DDED test/merge6.test |
| --- src/tag.c | |
| +++ src/tag.c | |
| @@ -354,11 +354,11 @@ | |
| 354 | ** |
| 355 | ** List all objects that use TAGNAME. TYPE can be "ci" for |
| 356 | ** checkins or "e" for events. The limit option limits the number |
| 357 | ** of results to the given value. |
| 358 | ** |
| 359 | ** %fossil tag list|ls ?--raw? ?CHECK-IN? |
| 360 | ** |
| 361 | ** List all tags, or if CHECK-IN is supplied, list |
| 362 | ** all tags and their values for CHECK-IN. |
| 363 | ** |
| 364 | ** The option --raw allows the manipulation of all types of tags |
| @@ -475,11 +475,11 @@ | |
| 475 | db_finalize(&q); |
| 476 | } |
| 477 | } |
| 478 | }else |
| 479 | |
| 480 | if(( strncmp(g.argv[2],"list",n)==0 )||( strncmp(g.argv[2],"ls",n)==0 )){ |
| 481 | Stmt q; |
| 482 | if( g.argc==3 ){ |
| 483 | db_prepare(&q, |
| 484 | "SELECT tagname FROM tag" |
| 485 | " WHERE EXISTS(SELECT 1 FROM tagxref" |
| 486 | |
| 487 | DDED test/merge6.test |
+59
| --- a/test/merge6.test | ||
| +++ b/test/merge6.test | ||
| @@ -0,0 +1,59 @@ | ||
| 1 | +# | |
| 2 | +# Copyright (c) 2014 D. Richard Hipp | |
| 3 | +# | |
| 4 | +# This program is free software; you can redistribute it and/or | |
| 5 | +# modify it under the terms of the Simplified BSD License (also | |
| 6 | +# known as the "2-Clause License" or "FreeBSD License".) | |
| 7 | +# | |
| 8 | +# This program is distributed in the hope that it will be useful, | |
| 9 | +# but without any warranty; without even the implied warranty of | |
| 10 | +# merchantability or fitness for a particular purpose. | |
| 11 | +# | |
| 12 | +# Author contact information: | |
| 13 | +# [email protected] | |
| 14 | +# http://www.hwaci.com/drh/ | |
| 15 | +# | |
| 16 | +############################################################################ | |
| 17 | +# | |
| 18 | +# Tests of the "merge" command | |
| 19 | +# | |
| 20 | + | |
| 21 | +#################################################################### | |
| 22 | +# TEST 1: Handle multiple merges each with one or more ADDED files # | |
| 23 | +###########################################repo_init############### | |
| 24 | + | |
| 25 | +test_setup | |
| 26 | +fossil ls | |
| 27 | + | |
| 28 | +test merge_multi-0 {[string map [list \r\_multi-0 {[normalize_result] eq {}} | |
| 29 | + | |
| 30 | +write_file f1 "f1 line" | |
| 31 | +fossil add f1 | |
| 32 | +fossil string map [list \r\_multi-1 {[normalize_result] eq {f1}} | |
| 33 | + | |
| 34 | +fossil update trunk | |
| 35 | +write_file f2 "f2 line" | |
| 36 | +fossil add f2 | |
| 37 | +fossil commit -m "branch for file f2" -b branch_for_f2 | |
| 38 | +fossistring map [list \r\] eq {f1 | |
| 39 | +f2}} | |
| 40 | + | |
| 41 | +fossil update trunk | |
| 42 | +write_file f3 "f3 line" | |
| 43 | +write_file f4 "f4 line" | |
| 44 | +fossil add f3 | |
| 45 | +fossil add f4 | |
| 46 | +fossil commit -m "branch for files f3 and f4" -b branch_for_f3_f4 | |
| 47 | +fossil ls | |
| 48 | + | |
| 49 | +test merge_multi-3 {[string map [list \r\_multi-3 {[normalize_result] eq {f1 | |
| 50 | +f3 | |
| 51 | +f4}} | |
| 52 | + | |
| 53 | +fossil update trunk | |
| 54 | +fossil merge branch_for_f2 | |
| 55 | +fossil merge branch_for_f3_f4 | |
| 56 | +fossil commit -m "new trunk files f2, string map [list \r\n \n] [string trim $RESULT]] eq {f1 | |
| 57 | +f2 | |
| 58 | +f3 | |
| 59 | +f4}} |
| --- a/test/merge6.test | |
| +++ b/test/merge6.test | |
| @@ -0,0 +1,59 @@ | |
| --- a/test/merge6.test | |
| +++ b/test/merge6.test | |
| @@ -0,0 +1,59 @@ | |
| 1 | # |
| 2 | # Copyright (c) 2014 D. Richard Hipp |
| 3 | # |
| 4 | # This program is free software; you can redistribute it and/or |
| 5 | # modify it under the terms of the Simplified BSD License (also |
| 6 | # known as the "2-Clause License" or "FreeBSD License".) |
| 7 | # |
| 8 | # This program is distributed in the hope that it will be useful, |
| 9 | # but without any warranty; without even the implied warranty of |
| 10 | # merchantability or fitness for a particular purpose. |
| 11 | # |
| 12 | # Author contact information: |
| 13 | # [email protected] |
| 14 | # http://www.hwaci.com/drh/ |
| 15 | # |
| 16 | ############################################################################ |
| 17 | # |
| 18 | # Tests of the "merge" command |
| 19 | # |
| 20 | |
| 21 | #################################################################### |
| 22 | # TEST 1: Handle multiple merges each with one or more ADDED files # |
| 23 | ###########################################repo_init############### |
| 24 | |
| 25 | test_setup |
| 26 | fossil ls |
| 27 | |
| 28 | test merge_multi-0 {[string map [list \r\_multi-0 {[normalize_result] eq {}} |
| 29 | |
| 30 | write_file f1 "f1 line" |
| 31 | fossil add f1 |
| 32 | fossil string map [list \r\_multi-1 {[normalize_result] eq {f1}} |
| 33 | |
| 34 | fossil update trunk |
| 35 | write_file f2 "f2 line" |
| 36 | fossil add f2 |
| 37 | fossil commit -m "branch for file f2" -b branch_for_f2 |
| 38 | fossistring map [list \r\] eq {f1 |
| 39 | f2}} |
| 40 | |
| 41 | fossil update trunk |
| 42 | write_file f3 "f3 line" |
| 43 | write_file f4 "f4 line" |
| 44 | fossil add f3 |
| 45 | fossil add f4 |
| 46 | fossil commit -m "branch for files f3 and f4" -b branch_for_f3_f4 |
| 47 | fossil ls |
| 48 | |
| 49 | test merge_multi-3 {[string map [list \r\_multi-3 {[normalize_result] eq {f1 |
| 50 | f3 |
| 51 | f4}} |
| 52 | |
| 53 | fossil update trunk |
| 54 | fossil merge branch_for_f2 |
| 55 | fossil merge branch_for_f3_f4 |
| 56 | fossil commit -m "new trunk files f2, string map [list \r\n \n] [string trim $RESULT]] eq {f1 |
| 57 | f2 |
| 58 | f3 |
| 59 | f4}} |
+2
-2
| --- win/Makefile.PellesCGMake | ||
| +++ win/Makefile.PellesCGMake | ||
| @@ -30,13 +30,13 @@ | ||
| 30 | 30 | # and |
| 31 | 31 | # PellesC 6.00.4 |
| 32 | 32 | # gmake 3.80 |
| 33 | 33 | # zlib sources 1.2.5 |
| 34 | 34 | # Windows 7 Home Premium |
| 35 | -# | |
| 35 | +# | |
| 36 | 36 | |
| 37 | -# | |
| 37 | +# | |
| 38 | 38 | PellesCDir=c:\Programme\PellesC |
| 39 | 39 | |
| 40 | 40 | # Select between 32/64 bit code, default is 32 bit |
| 41 | 41 | #TARGETVERSION=64 |
| 42 | 42 | |
| 43 | 43 |
| --- win/Makefile.PellesCGMake | |
| +++ win/Makefile.PellesCGMake | |
| @@ -30,13 +30,13 @@ | |
| 30 | # and |
| 31 | # PellesC 6.00.4 |
| 32 | # gmake 3.80 |
| 33 | # zlib sources 1.2.5 |
| 34 | # Windows 7 Home Premium |
| 35 | # |
| 36 | |
| 37 | # |
| 38 | PellesCDir=c:\Programme\PellesC |
| 39 | |
| 40 | # Select between 32/64 bit code, default is 32 bit |
| 41 | #TARGETVERSION=64 |
| 42 | |
| 43 |
| --- win/Makefile.PellesCGMake | |
| +++ win/Makefile.PellesCGMake | |
| @@ -30,13 +30,13 @@ | |
| 30 | # and |
| 31 | # PellesC 6.00.4 |
| 32 | # gmake 3.80 |
| 33 | # zlib sources 1.2.5 |
| 34 | # Windows 7 Home Premium |
| 35 | # |
| 36 | |
| 37 | # |
| 38 | PellesCDir=c:\Programme\PellesC |
| 39 | |
| 40 | # Select between 32/64 bit code, default is 32 bit |
| 41 | #TARGETVERSION=64 |
| 42 | |
| 43 |
+2
-2
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -41,11 +41,11 @@ | ||
| 41 | 41 | APPNAME = $(OBJDIR)\fossil$(E) |
| 42 | 42 | |
| 43 | 43 | all: $(APPNAME) |
| 44 | 44 | |
| 45 | 45 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\link |
| 46 | - cd $(OBJDIR) | |
| 46 | + cd $(OBJDIR) | |
| 47 | 47 | $(DMDIR)\bin\link @link |
| 48 | 48 | |
| 49 | 49 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 50 | 50 | $(RC) $(RCFLAGS) -o$@ $** |
| 51 | 51 | |
| @@ -85,11 +85,11 @@ | ||
| 85 | 85 | cp $@ $@ |
| 86 | 86 | |
| 87 | 87 | VERSION.h : version$E $B\manifest.uuid $B\manifest $B\VERSION |
| 88 | 88 | +$** > $@ |
| 89 | 89 | |
| 90 | -page_index.h: mkindex$E $(SRC) | |
| 90 | +page_index.h: mkindex$E $(SRC) | |
| 91 | 91 | +$** > $@ |
| 92 | 92 | |
| 93 | 93 | clean: |
| 94 | 94 | -del $(OBJDIR)\*.obj |
| 95 | 95 | -del *.obj *_.c *.h *.map |
| 96 | 96 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -41,11 +41,11 @@ | |
| 41 | APPNAME = $(OBJDIR)\fossil$(E) |
| 42 | |
| 43 | all: $(APPNAME) |
| 44 | |
| 45 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\link |
| 46 | cd $(OBJDIR) |
| 47 | $(DMDIR)\bin\link @link |
| 48 | |
| 49 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 50 | $(RC) $(RCFLAGS) -o$@ $** |
| 51 | |
| @@ -85,11 +85,11 @@ | |
| 85 | cp $@ $@ |
| 86 | |
| 87 | VERSION.h : version$E $B\manifest.uuid $B\manifest $B\VERSION |
| 88 | +$** > $@ |
| 89 | |
| 90 | page_index.h: mkindex$E $(SRC) |
| 91 | +$** > $@ |
| 92 | |
| 93 | clean: |
| 94 | -del $(OBJDIR)\*.obj |
| 95 | -del *.obj *_.c *.h *.map |
| 96 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -41,11 +41,11 @@ | |
| 41 | APPNAME = $(OBJDIR)\fossil$(E) |
| 42 | |
| 43 | all: $(APPNAME) |
| 44 | |
| 45 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\link |
| 46 | cd $(OBJDIR) |
| 47 | $(DMDIR)\bin\link @link |
| 48 | |
| 49 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 50 | $(RC) $(RCFLAGS) -o$@ $** |
| 51 | |
| @@ -85,11 +85,11 @@ | |
| 85 | cp $@ $@ |
| 86 | |
| 87 | VERSION.h : version$E $B\manifest.uuid $B\manifest $B\VERSION |
| 88 | +$** > $@ |
| 89 | |
| 90 | page_index.h: mkindex$E $(SRC) |
| 91 | +$** > $@ |
| 92 | |
| 93 | clean: |
| 94 | -del $(OBJDIR)\*.obj |
| 95 | -del *.obj *_.c *.h *.map |
| 96 |
+8
-3
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -216,25 +216,30 @@ | ||
| 216 | 216 | #### We add the -static option here so that we can build a static |
| 217 | 217 | # executable that will run in a chroot jail. |
| 218 | 218 | # |
| 219 | 219 | LIB = -static |
| 220 | 220 | |
| 221 | -# MinGW: If available, use the Unicode capable runtime startup code. | |
| 221 | +#### MinGW: If available, use the Unicode capable runtime startup code. | |
| 222 | +# | |
| 222 | 223 | ifndef MINGW_IS_32BIT_ONLY |
| 223 | 224 | LIB += -municode |
| 224 | 225 | endif |
| 225 | 226 | |
| 227 | +#### SQLite: If enabled, use the system SQLite library. | |
| 228 | +# | |
| 226 | 229 | ifdef USE_SYSTEM_SQLITE |
| 227 | 230 | LIB += -lsqlite3 |
| 228 | 231 | endif |
| 229 | 232 | |
| 230 | -# OpenSSL: Add the necessary libraries required, if enabled. | |
| 233 | +#### OpenSSL: Add the necessary libraries required, if enabled. | |
| 234 | +# | |
| 231 | 235 | ifdef FOSSIL_ENABLE_SSL |
| 232 | 236 | LIB += -lssl -lcrypto -lgdi32 |
| 233 | 237 | endif |
| 234 | 238 | |
| 235 | -# Tcl: Add the necessary libraries required, if enabled. | |
| 239 | +#### Tcl: Add the necessary libraries required, if enabled. | |
| 240 | +# | |
| 236 | 241 | ifdef FOSSIL_ENABLE_TCL |
| 237 | 242 | LIB += $(LIBTCL) |
| 238 | 243 | endif |
| 239 | 244 | |
| 240 | 245 | #### Extra arguments for linking the finished binary. Fossil needs |
| 241 | 246 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -216,25 +216,30 @@ | |
| 216 | #### We add the -static option here so that we can build a static |
| 217 | # executable that will run in a chroot jail. |
| 218 | # |
| 219 | LIB = -static |
| 220 | |
| 221 | # MinGW: If available, use the Unicode capable runtime startup code. |
| 222 | ifndef MINGW_IS_32BIT_ONLY |
| 223 | LIB += -municode |
| 224 | endif |
| 225 | |
| 226 | ifdef USE_SYSTEM_SQLITE |
| 227 | LIB += -lsqlite3 |
| 228 | endif |
| 229 | |
| 230 | # OpenSSL: Add the necessary libraries required, if enabled. |
| 231 | ifdef FOSSIL_ENABLE_SSL |
| 232 | LIB += -lssl -lcrypto -lgdi32 |
| 233 | endif |
| 234 | |
| 235 | # Tcl: Add the necessary libraries required, if enabled. |
| 236 | ifdef FOSSIL_ENABLE_TCL |
| 237 | LIB += $(LIBTCL) |
| 238 | endif |
| 239 | |
| 240 | #### Extra arguments for linking the finished binary. Fossil needs |
| 241 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -216,25 +216,30 @@ | |
| 216 | #### We add the -static option here so that we can build a static |
| 217 | # executable that will run in a chroot jail. |
| 218 | # |
| 219 | LIB = -static |
| 220 | |
| 221 | #### MinGW: If available, use the Unicode capable runtime startup code. |
| 222 | # |
| 223 | ifndef MINGW_IS_32BIT_ONLY |
| 224 | LIB += -municode |
| 225 | endif |
| 226 | |
| 227 | #### SQLite: If enabled, use the system SQLite library. |
| 228 | # |
| 229 | ifdef USE_SYSTEM_SQLITE |
| 230 | LIB += -lsqlite3 |
| 231 | endif |
| 232 | |
| 233 | #### OpenSSL: Add the necessary libraries required, if enabled. |
| 234 | # |
| 235 | ifdef FOSSIL_ENABLE_SSL |
| 236 | LIB += -lssl -lcrypto -lgdi32 |
| 237 | endif |
| 238 | |
| 239 | #### Tcl: Add the necessary libraries required, if enabled. |
| 240 | # |
| 241 | ifdef FOSSIL_ENABLE_TCL |
| 242 | LIB += $(LIBTCL) |
| 243 | endif |
| 244 | |
| 245 | #### Extra arguments for linking the finished binary. Fossil needs |
| 246 |
+8
-3
| --- win/Makefile.mingw.mistachkin | ||
| +++ win/Makefile.mingw.mistachkin | ||
| @@ -216,25 +216,30 @@ | ||
| 216 | 216 | #### We add the -static option here so that we can build a static |
| 217 | 217 | # executable that will run in a chroot jail. |
| 218 | 218 | # |
| 219 | 219 | LIB = -static |
| 220 | 220 | |
| 221 | -# MinGW: If available, use the Unicode capable runtime startup code. | |
| 221 | +#### MinGW: If available, use the Unicode capable runtime startup code. | |
| 222 | +# | |
| 222 | 223 | ifndef MINGW_IS_32BIT_ONLY |
| 223 | 224 | LIB += -municode |
| 224 | 225 | endif |
| 225 | 226 | |
| 227 | +#### SQLite: If enabled, use the system SQLite library. | |
| 228 | +# | |
| 226 | 229 | ifdef USE_SYSTEM_SQLITE |
| 227 | 230 | LIB += -lsqlite3 |
| 228 | 231 | endif |
| 229 | 232 | |
| 230 | -# OpenSSL: Add the necessary libraries required, if enabled. | |
| 233 | +#### OpenSSL: Add the necessary libraries required, if enabled. | |
| 234 | +# | |
| 231 | 235 | ifdef FOSSIL_ENABLE_SSL |
| 232 | 236 | LIB += -lssl -lcrypto -lgdi32 |
| 233 | 237 | endif |
| 234 | 238 | |
| 235 | -# Tcl: Add the necessary libraries required, if enabled. | |
| 239 | +#### Tcl: Add the necessary libraries required, if enabled. | |
| 240 | +# | |
| 236 | 241 | ifdef FOSSIL_ENABLE_TCL |
| 237 | 242 | LIB += $(LIBTCL) |
| 238 | 243 | endif |
| 239 | 244 | |
| 240 | 245 | #### Extra arguments for linking the finished binary. Fossil needs |
| 241 | 246 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -216,25 +216,30 @@ | |
| 216 | #### We add the -static option here so that we can build a static |
| 217 | # executable that will run in a chroot jail. |
| 218 | # |
| 219 | LIB = -static |
| 220 | |
| 221 | # MinGW: If available, use the Unicode capable runtime startup code. |
| 222 | ifndef MINGW_IS_32BIT_ONLY |
| 223 | LIB += -municode |
| 224 | endif |
| 225 | |
| 226 | ifdef USE_SYSTEM_SQLITE |
| 227 | LIB += -lsqlite3 |
| 228 | endif |
| 229 | |
| 230 | # OpenSSL: Add the necessary libraries required, if enabled. |
| 231 | ifdef FOSSIL_ENABLE_SSL |
| 232 | LIB += -lssl -lcrypto -lgdi32 |
| 233 | endif |
| 234 | |
| 235 | # Tcl: Add the necessary libraries required, if enabled. |
| 236 | ifdef FOSSIL_ENABLE_TCL |
| 237 | LIB += $(LIBTCL) |
| 238 | endif |
| 239 | |
| 240 | #### Extra arguments for linking the finished binary. Fossil needs |
| 241 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -216,25 +216,30 @@ | |
| 216 | #### We add the -static option here so that we can build a static |
| 217 | # executable that will run in a chroot jail. |
| 218 | # |
| 219 | LIB = -static |
| 220 | |
| 221 | #### MinGW: If available, use the Unicode capable runtime startup code. |
| 222 | # |
| 223 | ifndef MINGW_IS_32BIT_ONLY |
| 224 | LIB += -municode |
| 225 | endif |
| 226 | |
| 227 | #### SQLite: If enabled, use the system SQLite library. |
| 228 | # |
| 229 | ifdef USE_SYSTEM_SQLITE |
| 230 | LIB += -lsqlite3 |
| 231 | endif |
| 232 | |
| 233 | #### OpenSSL: Add the necessary libraries required, if enabled. |
| 234 | # |
| 235 | ifdef FOSSIL_ENABLE_SSL |
| 236 | LIB += -lssl -lcrypto -lgdi32 |
| 237 | endif |
| 238 | |
| 239 | #### Tcl: Add the necessary libraries required, if enabled. |
| 240 | # |
| 241 | ifdef FOSSIL_ENABLE_TCL |
| 242 | LIB += $(LIBTCL) |
| 243 | endif |
| 244 | |
| 245 | #### Extra arguments for linking the finished binary. Fossil needs |
| 246 |
+36
-15
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -5,17 +5,19 @@ | ||
| 5 | 5 | # |
| 6 | 6 | # This file is automatically generated. Instead of editing this |
| 7 | 7 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 8 | 8 | # to regenerate this file. |
| 9 | 9 | # |
| 10 | -B = .. | |
| 11 | -SRCDIR = $B\src | |
| 12 | -OBJDIR = . | |
| 13 | -OX = . | |
| 14 | -O = .obj | |
| 15 | -E = .exe | |
| 16 | -P = .pdb | |
| 10 | +B = .. | |
| 11 | +SRCDIR = $B\src | |
| 12 | +OBJDIR = . | |
| 13 | +OX = . | |
| 14 | +O = .obj | |
| 15 | +E = .exe | |
| 16 | +P = .pdb | |
| 17 | +PERLDIR = | |
| 18 | +PERL = perl.exe | |
| 17 | 19 | |
| 18 | 20 | # Uncomment to enable debug symbols |
| 19 | 21 | # DEBUG = 1 |
| 20 | 22 | |
| 21 | 23 | # Uncomment to enable JSON API |
| @@ -29,12 +31,13 @@ | ||
| 29 | 31 | |
| 30 | 32 | # Uncomment to enable Tcl support |
| 31 | 33 | # FOSSIL_ENABLE_TCL = 1 |
| 32 | 34 | |
| 33 | 35 | !ifdef FOSSIL_ENABLE_SSL |
| 34 | -SSLINCDIR = $(B)\compat\openssl-1.0.1i\include | |
| 35 | -SSLLIBDIR = $(B)\compat\openssl-1.0.1i\out32 | |
| 36 | +SSLDIR = $(B)\compat\openssl-1.0.1i | |
| 37 | +SSLINCDIR = $(SSLDIR)\include | |
| 38 | +SSLLIBDIR = $(SSLDIR)\out32 | |
| 36 | 39 | SSLLIB = ssleay32.lib libeay32.lib user32.lib gdi32.lib |
| 37 | 40 | !endif |
| 38 | 41 | |
| 39 | 42 | !ifdef FOSSIL_ENABLE_TCL |
| 40 | 43 | TCLDIR = $(B)\compat\tcl-8.6 |
| @@ -349,21 +352,39 @@ | ||
| 349 | 352 | $(OX)\xfersetup$O \ |
| 350 | 353 | $(OX)\zip$O \ |
| 351 | 354 | $(OX)\fossil.res |
| 352 | 355 | |
| 353 | 356 | |
| 354 | -APPNAME = $(OX)\fossil$(E) | |
| 355 | -PDBNAME = $(OX)\fossil$(P) | |
| 357 | +APPNAME = $(OX)\fossil$(E) | |
| 358 | +PDBNAME = $(OX)\fossil$(P) | |
| 359 | +APPTARGETS = | |
| 356 | 360 | |
| 357 | 361 | all: $(OX) $(APPNAME) |
| 358 | 362 | |
| 359 | 363 | zlib: |
| 360 | 364 | @echo Building zlib from "$(ZLIBDIR)"... |
| 361 | - @pushd "$(ZLIBDIR)" && nmake /f win32\Makefile.msc $(ZLIB) && popd | |
| 365 | + @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd | |
| 362 | 366 | |
| 363 | -$(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts zlib | |
| 364 | - cd $(OX) | |
| 367 | +!ifdef FOSSIL_ENABLE_SSL | |
| 368 | +openssl: | |
| 369 | + @echo Building OpenSSL from "$(SSLDIR)"... | |
| 370 | +!if "$(PERLDIR)" != "" | |
| 371 | + @set PATH=$(PERLDIR);$(PATH) | |
| 372 | +!endif | |
| 373 | + @pushd "$(SSLDIR)" && $(PERL) Configure VC-WIN32 no-asm && popd | |
| 374 | + @pushd "$(SSLDIR)" && call ms\do_ms.bat && popd | |
| 375 | + @pushd "$(SSLDIR)" && $(MAKE) /f ms\nt.mak all && popd | |
| 376 | +!endif | |
| 377 | + | |
| 378 | +APPTARGETS = $(APPTARGETS) zlib | |
| 379 | + | |
| 380 | +!ifdef FOSSIL_ENABLE_SSL | |
| 381 | +APPTARGETS = $(APPTARGETS) openssl | |
| 382 | +!endif | |
| 383 | + | |
| 384 | +$(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts $(APPTARGETS) | |
| 385 | + cd $(OX) | |
| 365 | 386 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 366 | 387 | |
| 367 | 388 | $(OX)\linkopts: $B\win\Makefile.msc |
| 368 | 389 | echo $(OX)\add.obj > $@ |
| 369 | 390 | echo $(OX)\allrepo.obj >> $@ |
| @@ -517,11 +538,11 @@ | ||
| 517 | 538 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 518 | 539 | $** > $@ |
| 519 | 540 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 520 | 541 | $(TCC) /Fo$@ /c $** |
| 521 | 542 | |
| 522 | -page_index.h: mkindex$E $(SRC) | |
| 543 | +page_index.h: mkindex$E $(SRC) | |
| 523 | 544 | $** > $@ |
| 524 | 545 | |
| 525 | 546 | clean: |
| 526 | 547 | -del $(OX)\*.obj |
| 527 | 548 | -del *.obj |
| 528 | 549 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -5,17 +5,19 @@ | |
| 5 | # |
| 6 | # This file is automatically generated. Instead of editing this |
| 7 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 8 | # to regenerate this file. |
| 9 | # |
| 10 | B = .. |
| 11 | SRCDIR = $B\src |
| 12 | OBJDIR = . |
| 13 | OX = . |
| 14 | O = .obj |
| 15 | E = .exe |
| 16 | P = .pdb |
| 17 | |
| 18 | # Uncomment to enable debug symbols |
| 19 | # DEBUG = 1 |
| 20 | |
| 21 | # Uncomment to enable JSON API |
| @@ -29,12 +31,13 @@ | |
| 29 | |
| 30 | # Uncomment to enable Tcl support |
| 31 | # FOSSIL_ENABLE_TCL = 1 |
| 32 | |
| 33 | !ifdef FOSSIL_ENABLE_SSL |
| 34 | SSLINCDIR = $(B)\compat\openssl-1.0.1i\include |
| 35 | SSLLIBDIR = $(B)\compat\openssl-1.0.1i\out32 |
| 36 | SSLLIB = ssleay32.lib libeay32.lib user32.lib gdi32.lib |
| 37 | !endif |
| 38 | |
| 39 | !ifdef FOSSIL_ENABLE_TCL |
| 40 | TCLDIR = $(B)\compat\tcl-8.6 |
| @@ -349,21 +352,39 @@ | |
| 349 | $(OX)\xfersetup$O \ |
| 350 | $(OX)\zip$O \ |
| 351 | $(OX)\fossil.res |
| 352 | |
| 353 | |
| 354 | APPNAME = $(OX)\fossil$(E) |
| 355 | PDBNAME = $(OX)\fossil$(P) |
| 356 | |
| 357 | all: $(OX) $(APPNAME) |
| 358 | |
| 359 | zlib: |
| 360 | @echo Building zlib from "$(ZLIBDIR)"... |
| 361 | @pushd "$(ZLIBDIR)" && nmake /f win32\Makefile.msc $(ZLIB) && popd |
| 362 | |
| 363 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts zlib |
| 364 | cd $(OX) |
| 365 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 366 | |
| 367 | $(OX)\linkopts: $B\win\Makefile.msc |
| 368 | echo $(OX)\add.obj > $@ |
| 369 | echo $(OX)\allrepo.obj >> $@ |
| @@ -517,11 +538,11 @@ | |
| 517 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 518 | $** > $@ |
| 519 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 520 | $(TCC) /Fo$@ /c $** |
| 521 | |
| 522 | page_index.h: mkindex$E $(SRC) |
| 523 | $** > $@ |
| 524 | |
| 525 | clean: |
| 526 | -del $(OX)\*.obj |
| 527 | -del *.obj |
| 528 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -5,17 +5,19 @@ | |
| 5 | # |
| 6 | # This file is automatically generated. Instead of editing this |
| 7 | # file, edit "makemake.tcl" then run "tclsh makemake.tcl" |
| 8 | # to regenerate this file. |
| 9 | # |
| 10 | B = .. |
| 11 | SRCDIR = $B\src |
| 12 | OBJDIR = . |
| 13 | OX = . |
| 14 | O = .obj |
| 15 | E = .exe |
| 16 | P = .pdb |
| 17 | PERLDIR = |
| 18 | PERL = perl.exe |
| 19 | |
| 20 | # Uncomment to enable debug symbols |
| 21 | # DEBUG = 1 |
| 22 | |
| 23 | # Uncomment to enable JSON API |
| @@ -29,12 +31,13 @@ | |
| 31 | |
| 32 | # Uncomment to enable Tcl support |
| 33 | # FOSSIL_ENABLE_TCL = 1 |
| 34 | |
| 35 | !ifdef FOSSIL_ENABLE_SSL |
| 36 | SSLDIR = $(B)\compat\openssl-1.0.1i |
| 37 | SSLINCDIR = $(SSLDIR)\include |
| 38 | SSLLIBDIR = $(SSLDIR)\out32 |
| 39 | SSLLIB = ssleay32.lib libeay32.lib user32.lib gdi32.lib |
| 40 | !endif |
| 41 | |
| 42 | !ifdef FOSSIL_ENABLE_TCL |
| 43 | TCLDIR = $(B)\compat\tcl-8.6 |
| @@ -349,21 +352,39 @@ | |
| 352 | $(OX)\xfersetup$O \ |
| 353 | $(OX)\zip$O \ |
| 354 | $(OX)\fossil.res |
| 355 | |
| 356 | |
| 357 | APPNAME = $(OX)\fossil$(E) |
| 358 | PDBNAME = $(OX)\fossil$(P) |
| 359 | APPTARGETS = |
| 360 | |
| 361 | all: $(OX) $(APPNAME) |
| 362 | |
| 363 | zlib: |
| 364 | @echo Building zlib from "$(ZLIBDIR)"... |
| 365 | @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd |
| 366 | |
| 367 | !ifdef FOSSIL_ENABLE_SSL |
| 368 | openssl: |
| 369 | @echo Building OpenSSL from "$(SSLDIR)"... |
| 370 | !if "$(PERLDIR)" != "" |
| 371 | @set PATH=$(PERLDIR);$(PATH) |
| 372 | !endif |
| 373 | @pushd "$(SSLDIR)" && $(PERL) Configure VC-WIN32 no-asm && popd |
| 374 | @pushd "$(SSLDIR)" && call ms\do_ms.bat && popd |
| 375 | @pushd "$(SSLDIR)" && $(MAKE) /f ms\nt.mak all && popd |
| 376 | !endif |
| 377 | |
| 378 | APPTARGETS = $(APPTARGETS) zlib |
| 379 | |
| 380 | !ifdef FOSSIL_ENABLE_SSL |
| 381 | APPTARGETS = $(APPTARGETS) openssl |
| 382 | !endif |
| 383 | |
| 384 | $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OX)\linkopts $(APPTARGETS) |
| 385 | cd $(OX) |
| 386 | link $(LDFLAGS) /OUT:$@ $(LIBDIR) Wsetargv.obj fossil.res @linkopts |
| 387 | |
| 388 | $(OX)\linkopts: $B\win\Makefile.msc |
| 389 | echo $(OX)\add.obj > $@ |
| 390 | echo $(OX)\allrepo.obj >> $@ |
| @@ -517,11 +538,11 @@ | |
| 538 | VERSION.h : mkversion$E $B\manifest.uuid $B\manifest $B\VERSION |
| 539 | $** > $@ |
| 540 | $(OX)\cson_amalgamation$O : $(SRCDIR)\cson_amalgamation.c |
| 541 | $(TCC) /Fo$@ /c $** |
| 542 | |
| 543 | page_index.h: mkindex$E $(SRC) |
| 544 | $** > $@ |
| 545 | |
| 546 | clean: |
| 547 | -del $(OX)\*.obj |
| 548 | -del *.obj |
| 549 |
+3
-3
| --- win/fossil.rc | ||
| +++ win/fossil.rc | ||
| @@ -105,11 +105,11 @@ | ||
| 105 | 105 | #endif /* defined(FOSSIL_ENABLE_SSL) */ |
| 106 | 106 | #if defined(FOSSIL_ENABLE_TH1_HOOKS) |
| 107 | 107 | VALUE "Th1Hooks", "Yes\0" |
| 108 | 108 | #else |
| 109 | 109 | VALUE "Th1Hooks", "No\0" |
| 110 | -#endif | |
| 110 | +#endif /* defined(FOSSIL_ENABLE_TH1_HOOKS) */ | |
| 111 | 111 | #if defined(FOSSIL_ENABLE_TCL) |
| 112 | 112 | VALUE "TclEnabled", "Yes, Tcl " TCL_PATCH_LEVEL "\0" |
| 113 | 113 | #if defined(USE_TCL_STUBS) |
| 114 | 114 | VALUE "UseTclStubsEnabled", "Yes\0" |
| 115 | 115 | #else |
| @@ -142,12 +142,12 @@ | ||
| 142 | 142 | * This embedded manifest is needed for Windows 8.1. |
| 143 | 143 | */ |
| 144 | 144 | |
| 145 | 145 | #ifndef RT_MANIFEST |
| 146 | 146 | #define RT_MANIFEST 24 |
| 147 | -#endif | |
| 147 | +#endif /* RT_MANIFEST */ | |
| 148 | 148 | |
| 149 | 149 | #ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID |
| 150 | 150 | #define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 |
| 151 | -#endif | |
| 151 | +#endif /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ | |
| 152 | 152 | |
| 153 | 153 | CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "fossil.exe.manifest" |
| 154 | 154 |
| --- win/fossil.rc | |
| +++ win/fossil.rc | |
| @@ -105,11 +105,11 @@ | |
| 105 | #endif /* defined(FOSSIL_ENABLE_SSL) */ |
| 106 | #if defined(FOSSIL_ENABLE_TH1_HOOKS) |
| 107 | VALUE "Th1Hooks", "Yes\0" |
| 108 | #else |
| 109 | VALUE "Th1Hooks", "No\0" |
| 110 | #endif |
| 111 | #if defined(FOSSIL_ENABLE_TCL) |
| 112 | VALUE "TclEnabled", "Yes, Tcl " TCL_PATCH_LEVEL "\0" |
| 113 | #if defined(USE_TCL_STUBS) |
| 114 | VALUE "UseTclStubsEnabled", "Yes\0" |
| 115 | #else |
| @@ -142,12 +142,12 @@ | |
| 142 | * This embedded manifest is needed for Windows 8.1. |
| 143 | */ |
| 144 | |
| 145 | #ifndef RT_MANIFEST |
| 146 | #define RT_MANIFEST 24 |
| 147 | #endif |
| 148 | |
| 149 | #ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID |
| 150 | #define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 |
| 151 | #endif |
| 152 | |
| 153 | CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "fossil.exe.manifest" |
| 154 |
| --- win/fossil.rc | |
| +++ win/fossil.rc | |
| @@ -105,11 +105,11 @@ | |
| 105 | #endif /* defined(FOSSIL_ENABLE_SSL) */ |
| 106 | #if defined(FOSSIL_ENABLE_TH1_HOOKS) |
| 107 | VALUE "Th1Hooks", "Yes\0" |
| 108 | #else |
| 109 | VALUE "Th1Hooks", "No\0" |
| 110 | #endif /* defined(FOSSIL_ENABLE_TH1_HOOKS) */ |
| 111 | #if defined(FOSSIL_ENABLE_TCL) |
| 112 | VALUE "TclEnabled", "Yes, Tcl " TCL_PATCH_LEVEL "\0" |
| 113 | #if defined(USE_TCL_STUBS) |
| 114 | VALUE "UseTclStubsEnabled", "Yes\0" |
| 115 | #else |
| @@ -142,12 +142,12 @@ | |
| 142 | * This embedded manifest is needed for Windows 8.1. |
| 143 | */ |
| 144 | |
| 145 | #ifndef RT_MANIFEST |
| 146 | #define RT_MANIFEST 24 |
| 147 | #endif /* RT_MANIFEST */ |
| 148 | |
| 149 | #ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID |
| 150 | #define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 |
| 151 | #endif /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ |
| 152 | |
| 153 | CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "fossil.exe.manifest" |
| 154 |
+18
-4
| --- www/build.wiki | ||
| +++ www/build.wiki | ||
| @@ -112,15 +112,29 @@ | ||
| 112 | 112 | "<b>make -f win/Makefile.mingw</b>". On a Windows box you will |
| 113 | 113 | need either Cygwin or Msys as build environment. On Cygwin, Linux |
| 114 | 114 | or Darwin you may want to make minor edits to win/Makefile.mingw |
| 115 | 115 | to configure the cross-compile environment. |
| 116 | 116 | |
| 117 | -<li><p><i>MSVC</i> → Use the msc makefile. First | |
| 117 | +<li><p><i>MSVC</i> → Use the MSVC makefile. First | |
| 118 | 118 | change to the "win/" subdirectory ("<b>cd win</b>") then run |
| 119 | -"<b>nmake /f Makefile.msc</b>". Alternatively, the batch file | |
| 120 | -"<b>win\buildmsvc.bat</b>" may be used and it will attempt to | |
| 121 | -detect and use the latest installed version of MSVC. | |
| 119 | +"<b>nmake /f Makefile.msc</b>".<br><br>Alternatively, the batch | |
| 120 | +file "<b>win\buildmsvc.bat</b>" may be used and it will attempt to | |
| 121 | +detect and use the latest installed version of MSVC.<br><br>To enable | |
| 122 | +the optional <a href="https://www.openssl.org/">OpenSSL</a> support, | |
| 123 | +first <a href="https://www.openssl.org/source/">download the official | |
| 124 | +source code for OpenSSL</a> and extract it to an appropriately named | |
| 125 | +"<b>openssl-X.Y.ZA</b>" subdirectory within the local | |
| 126 | +[/tree?ci=trunk&name=compat | compat] directory (e.g. | |
| 127 | +"<b>compat/openssl-1.0.1i</b>"), then make sure that some recent | |
| 128 | +<a href="http://www.perl.org/">Perl</a> binaries are installed locally, | |
| 129 | +and finally run one of the following commands: | |
| 130 | +<blockquote><pre> | |
| 131 | +nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 PERLDIR=C:\full\path\to\Perl\bin | |
| 132 | +</pre></blockquote> | |
| 133 | +<blockquote><pre> | |
| 134 | +buildmsvc.bat FOSSIL_ENABLE_SSL=1 PERLDIR=C:\full\path\to\Perl\bin | |
| 135 | +</pre></blockquote> | |
| 122 | 136 | |
| 123 | 137 | <li><p><i>Cygwin</i> → The same as other unix-like systems. It is |
| 124 | 138 | recommended to configure using: "<b>configure --disable-internal-sqlite</b>", |
| 125 | 139 | making sure you have the "libsqlite3-devel" , "zlib-devel" and |
| 126 | 140 | "openssl-devel" packages installed first. |
| 127 | 141 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -112,15 +112,29 @@ | |
| 112 | "<b>make -f win/Makefile.mingw</b>". On a Windows box you will |
| 113 | need either Cygwin or Msys as build environment. On Cygwin, Linux |
| 114 | or Darwin you may want to make minor edits to win/Makefile.mingw |
| 115 | to configure the cross-compile environment. |
| 116 | |
| 117 | <li><p><i>MSVC</i> → Use the msc makefile. First |
| 118 | change to the "win/" subdirectory ("<b>cd win</b>") then run |
| 119 | "<b>nmake /f Makefile.msc</b>". Alternatively, the batch file |
| 120 | "<b>win\buildmsvc.bat</b>" may be used and it will attempt to |
| 121 | detect and use the latest installed version of MSVC. |
| 122 | |
| 123 | <li><p><i>Cygwin</i> → The same as other unix-like systems. It is |
| 124 | recommended to configure using: "<b>configure --disable-internal-sqlite</b>", |
| 125 | making sure you have the "libsqlite3-devel" , "zlib-devel" and |
| 126 | "openssl-devel" packages installed first. |
| 127 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -112,15 +112,29 @@ | |
| 112 | "<b>make -f win/Makefile.mingw</b>". On a Windows box you will |
| 113 | need either Cygwin or Msys as build environment. On Cygwin, Linux |
| 114 | or Darwin you may want to make minor edits to win/Makefile.mingw |
| 115 | to configure the cross-compile environment. |
| 116 | |
| 117 | <li><p><i>MSVC</i> → Use the MSVC makefile. First |
| 118 | change to the "win/" subdirectory ("<b>cd win</b>") then run |
| 119 | "<b>nmake /f Makefile.msc</b>".<br><br>Alternatively, the batch |
| 120 | file "<b>win\buildmsvc.bat</b>" may be used and it will attempt to |
| 121 | detect and use the latest installed version of MSVC.<br><br>To enable |
| 122 | the optional <a href="https://www.openssl.org/">OpenSSL</a> support, |
| 123 | first <a href="https://www.openssl.org/source/">download the official |
| 124 | source code for OpenSSL</a> and extract it to an appropriately named |
| 125 | "<b>openssl-X.Y.ZA</b>" subdirectory within the local |
| 126 | [/tree?ci=trunk&name=compat | compat] directory (e.g. |
| 127 | "<b>compat/openssl-1.0.1i</b>"), then make sure that some recent |
| 128 | <a href="http://www.perl.org/">Perl</a> binaries are installed locally, |
| 129 | and finally run one of the following commands: |
| 130 | <blockquote><pre> |
| 131 | nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 132 | </pre></blockquote> |
| 133 | <blockquote><pre> |
| 134 | buildmsvc.bat FOSSIL_ENABLE_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 135 | </pre></blockquote> |
| 136 | |
| 137 | <li><p><i>Cygwin</i> → The same as other unix-like systems. It is |
| 138 | recommended to configure using: "<b>configure --disable-internal-sqlite</b>", |
| 139 | making sure you have the "libsqlite3-devel" , "zlib-devel" and |
| 140 | "openssl-devel" packages installed first. |
| 141 |
+2
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -20,10 +20,12 @@ | ||
| 20 | 20 | * Let [/help?cmd=new|fossil new] no longer create an initial empty commit |
| 21 | 21 | by default. The first commit after checking out an empty repository will |
| 22 | 22 | become the initial commit. (NOT PLANNED FOR 1.30, BUT DONE TO EXPOSE |
| 23 | 23 | [/help?cmd=new|fossil new --empty] TO MORE FIELD TESTING BEFORE |
| 24 | 24 | MAKING ANY DECISION ON IT!) |
| 25 | + * Added a line-number toggle option to the [/help?cmd=/info|/info] | |
| 26 | + and [/help?cmd=/artifact|/artifact] pages. | |
| 25 | 27 | |
| 26 | 28 | <h2>Changes For Version 1.29 (2014-06-12)</h2> |
| 27 | 29 | * Add the ability to display content, diffs and annotations for UTF16 |
| 28 | 30 | text files in the web interface. |
| 29 | 31 | * Add the "SaveAs..." and "Invert" buttons |
| 30 | 32 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -20,10 +20,12 @@ | |
| 20 | * Let [/help?cmd=new|fossil new] no longer create an initial empty commit |
| 21 | by default. The first commit after checking out an empty repository will |
| 22 | become the initial commit. (NOT PLANNED FOR 1.30, BUT DONE TO EXPOSE |
| 23 | [/help?cmd=new|fossil new --empty] TO MORE FIELD TESTING BEFORE |
| 24 | MAKING ANY DECISION ON IT!) |
| 25 | |
| 26 | <h2>Changes For Version 1.29 (2014-06-12)</h2> |
| 27 | * Add the ability to display content, diffs and annotations for UTF16 |
| 28 | text files in the web interface. |
| 29 | * Add the "SaveAs..." and "Invert" buttons |
| 30 |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -20,10 +20,12 @@ | |
| 20 | * Let [/help?cmd=new|fossil new] no longer create an initial empty commit |
| 21 | by default. The first commit after checking out an empty repository will |
| 22 | become the initial commit. (NOT PLANNED FOR 1.30, BUT DONE TO EXPOSE |
| 23 | [/help?cmd=new|fossil new --empty] TO MORE FIELD TESTING BEFORE |
| 24 | MAKING ANY DECISION ON IT!) |
| 25 | * Added a line-number toggle option to the [/help?cmd=/info|/info] |
| 26 | and [/help?cmd=/artifact|/artifact] pages. |
| 27 | |
| 28 | <h2>Changes For Version 1.29 (2014-06-12)</h2> |
| 29 | * Add the ability to display content, diffs and annotations for UTF16 |
| 30 | text files in the web interface. |
| 31 | * Add the "SaveAs..." and "Invert" buttons |
| 32 |