8 8 <li><a href="#CGI">Using <cite>Fossil</cite>'s Built-In CGI</a>
9 9 </ul>
10 10 </li>
11 11 <li><a href="#env">Using Environment variables</a></li>
12 12 <li><a href="#css">Example CSS</a></li>
13 13 <li><a href="#source-hilight">Source highlighting</a></li>
14 14 <li><a href="#win32dev">Fossil Win32 Development Machine setup</a></li>
15 + <li><a href="#MingW">Compiling for windows</a></li>
15 16 <li><a href="#wysiwig">Javascript HTML WYSIWYG editor control</a>
16 17 <ul>
17 18 <li><a href="#tinymce">TinyMCE</a></li>
18 19 <li><a href="#markitup">markitup!</a></li>
19 20 </ul>
20 21 </li>
21 22 <li><a href="#ticket-checkin-links">Link tickets to checkins</a></li>
................................................................................
529 530
530 531 <h4>Visual Studio Express 2008+WiX</h4>
531 532 <h5>Setup TCL</h5>
532 533 <h5>Setup VS2008</h5>
533 534 <h5>Getting WiX Windows MSI tool </h5>
534 535 <h5>Getting Fossil source code</h5>
535 536 <h5>Build the code with Makefile.win32</h5>
537 +
538 +<a name="MingW"><h2>Compiling for windows (xp, vista, win2k?, 7?)</h2></a>
539 +<small>Windows versions with a ? after the version haven't been build by me and I cannot say if it works on those versions.</small>
540 +
541 +In order to produce windows executable, and more specific fossil we can follow, at least, 2 strategies.
542 + * Compiling under windows with MingW.
543 + * Compiling under Linux with crosscompiler MingW.
544 +
545 +
546 +<h3>Compiling under windows with Mingw</h3>
547 +<h4>Installing the tools.</h4>
548 + * download [http://sourceforge.net/projects/mingw/files/|mingw-xx.exe] version 5.1.6 or later. Install it. I assume it will be installed in <strong>c:\MingW</strong>
549 + * download [http://sourceforge.net/projects/mingw/files/|msys-xx.exe] version 1.0.10 or later. Install it. I assume it will be installed in <strong>c:\msys</strong>
550 + * download [http://gnuwin32.sourceforge.net/packages/zlib.htm|zlib] the binary and developer files. Extract to <strong>c:\MingW</strong>
551 + * If you want <strong>https</strong> support download [http://gnuwin32.sourceforge.net/packages/openssl.htm|openssl] the binary and developer files. Extract to <strong>c:\MingW</strong>
552 + * download [http://www.fossil-scm.org/download.html|fossil] and copy fossil.exe to <strong>c:\MingW\bin</strong>
553 +
554 +<h4>Getting fossil source code</h4>
555 + * start msys. This will start a bash shell.
556 + * mkdir fossil; cd fossil
557 + * clone fossil repository. e.g. fossil clone http://www.fossil-scm.org/ myclone.fossil
558 + * mkdir src; cd src
559 + * fossil open ../myclone.fossil
560 +
561 +<h4>Compiling fossil source code</h4>
562 + * If you want <strong>https</strong> supports
563 + <ul><li>Change Makefile.win32. Change the line "LIB += -lcrypto -lssl" to "LIB = -lssl -lcrypto -lgdi32 -lmingwex -lz -lws2_32".</li>
564 + <li>make -f Makefile.w32 FOSSIL_ENABLE_SSL=1</li> </ul>
565 + * else do make -f Makefile.w32
566 +
567 +
568 +<h3>Compiling under linux for windows with Mingw</h3>
569 +This is called cross compiling. I'm using [http://www.archlinux.org/|Arch linux] distribution which
570 +uses the package manager pacman to install packages. If you have a differen linux distribution the packages might be called different. I assume a login name of renez substitute yours were apropiate.
571 +
572 +<h4>Installing the tools.</h4>
573 + * Install mingw32-gccs. With Arch linux you do Pacman -S mingw32-gcc (As root!). This wile be installed in <strong>/usr/i486-mingw32</strong>
574 + * download [http://gnuwin32.sourceforge.net/packages/zlib.htm|zlib] the binary and developer files.
575 + * If you want <strong>https</strong> support download [http://gnuwin32.sourceforge.net/packages/openssl.htm|openssl] the binary and developer files.
576 + * Extract to <strong>/usr/i486-mingw32</strong> by: su to root
577 + * cd <strong>/usr/i486-mingw32</strong>
578 + * unzip ~renez/Downloads/zlib-1.2.3-bin.zip
579 + * unzip ~renez/Downloads/zlib-1.2.3-lib.zip
580 + * unzip ~renez/Downloads/openssl-0.9.8h-1-bin.zip
581 + * unzip ~renez/Downloads/openssl-0.9.8h-1-lib.zip
582 + * exit root
583 + * download [http://www.fossil-scm.org/download.html|fossil] for linux, and copy fossil to some where in your PATH directories maybe $HOME/bin.
584 +
585 +<h4>Getting fossil source code</h4>
586 + * cd ; mkdir fossil; cd fossil
587 + * clone fossil repository. e.g. fossil clone http://www.fossil-scm.org/ myclone.fossil
588 + * mkdir src; cd src
589 + * fossil open ../myclone.fossil
590 +
591 +<h4>Compiling fossil source code</h4>
592 + * If you want <strong>https</strong> supports
593 + <ul><li>Change Makefile.win32. Change the line "LIB += -lcrypto -lssl" to "LIB = -lssl -lcrypto -lgdi32 -lmingwex -lz -lws2_32".</li>
594 + <li>make -f Makefile.w32 TCC="i486-mingw32-gcc -Os -Wall -DFOSSIL_I18N=0 -L/usr/i486-mingw32/lib -I/usr/i486-mingw32/include -DFOSSIL_ENABLE_SSL=1" FOSSIL_ENABLE_SSL=1</li> </ul>
595 + * else make -f Makefile.w32 TCC="i486-mingw32-gcc -Os -Wall -DFOSSIL_I18N=0 -L/usr/i486-mingw32/lib -I/usr/i486-mingw32/include "
596 +
597 +<h4>Distribution the cross compiled fossil.exe</h4>
598 +Because you have linked against zlib and maybe ssl you need to include from <strong>/usr/i486-mingw32/bin</strong> zlib1.dll and, optional, libssl32.dll (and maybe also libeay32.dll)
599 +
600 +<h4>testing the cross compiled fossil.exe</h4>
601 + * copy fossil.exe and the dll's to a windows system. For testing purpose all in one directory. For production use a directory in your PATH
602 + * fossil clone http://www.fossil-scm.org/ http.fossil
603 + * If it has <strong>https</strong> support then fossil clone https://www.fossil-scm.org/ https.fossil
604 +
605 +
606 +
607 +
608 +
609 +
610 +
611 +
612 +
536 613
537 614 <a name="wysiwig"><h2>Javascript HTML WYSIWYG editor control</h2></a>
538 615 <h3>Motivation</h3>
539 616 * You want to edit the wiki pages with a nice editor component, instead of using plain HTML.
540 617
541 618 <h3>Problem</h3>
542 619 Fossil by itself doesn't support it.
................................................................................
815 892
816 893 <ul compact='compact'>
817 894 <li>puts "[hello hello]" doesn't work because [ triggers the
818 895 interpeter, use puts "&#91hello hello]'</li>
819 896 </ul>
820 897 </nowiki>
821 898 </div>
822 -