Concatenative language
Concatenative topics
Concatenative meta
Other languages
Meta
Once you have a clone of the [[Factor/Repository]], there are two ways to build Factor; you can build a clean branch, or the bleeding-edge sources. = Build requirements = See [[Factor/Requirements]]. = Building and updating Factor the easy way = Once you have a checkout of the Factor source tree, you can use the %build.sh% utility to check for updates, and build Factor: MacOS/*nix: [{./build.sh update}] Windows: [{build.cmd}] This utility automatically updates your repository, rebuilds the Factor VM, downloads the latest boot image, and [[Bootstrap|bootstraps]] Factor. This utility will work on Windows if Visual Studio 2012 or later is installed. = Building and updating Factor the hard way = If you don't want to, or can't, use the %build.sh% script, you will need to build Factor in three steps: - compile the Factor VM - download a boot image - bootstrap Factor If you did a %git pull% to update the sources, don't forget to recompile your VM and get a new boot image too. == Boot images == Factor is partially self-hosting; all of the code in %core% is packaged into a _boot image_ by the bootstrap process. You will need to download a boot image before building Factor: [[http://downloads.factorcode.org/images/master/]] for the latest images, Boot images are CPU- and OS-specific %boot.<arch>.image%: - %boot.unix-86.32.image% - 32-bit Mac OS X, Linux, \*BSD - %boot.winnt-86.32.image% - 32-bit Windows - %boot.unix-86.64.image% - 64-bit Mac OS X, Linux, \*BSD - %boot.winnt-86.64.image% - 64-bit Windows - %boot.macosx-ppc.image% - 32-bit PowerPC Mac OS X You will need to download either a clean boot image, or the latest boot image, depending on whether you're building from a clean branch or the latest branch. See below for details. Once you have built Factor, you can generate a new boot image if you choose. == Building from a clean branch == Clean branches should be tracked by users who do not wish to use the binary packages, but nevertheless require a high degree of confidence that the source will compile and work. See [[Factor/Build farm]] for details of the process used to create clean branches. The currently available clean branches are %clean-<os>-<cpu>%: - %clean-linux-x86-32% - %clean-linux-x86-64% - %clean-winnt-x86-32% - %clean-macosx-x86-32% - %clean-macosx-x86-64% - %clean-macosx-ppc% - %clean-freebsd-x86-32% - %clean-freebsd-x86-64% - %clean-netbsd-x86-32% - %clean-netbsd-x86-64% - %clean-openbsd-x86-32% - %clean-openbsd-x86-64% - %clean-windows-x86-32% - %clean-windows-x86-64% *Step 1:* To track a clean branch, you will need to clone a repository first, then issue the following two commands to stay up to date: [{git checkout -b clean-os-cpu origin/clean-os-cpu git pull git://factorcode.org/git/factor.git clean-os-cpu}] *Step 2:* Download the latest clean boot image for your architecture from [[http://downloads.factorcode.org/images/clean/]]. Place the boot image in the Factor directory. *Step 3*: Compile the Factor VM by running make: [{make # Linux, Mac OS X gmake # BSD nmake /f Nmakefile # Windows}] *Step 4:* Bootstrap Factor by issuing a command like the following, where %<arch>% is one of %unix-x86.32%, %winnt-x86.32%, %unix-x86.64%, %winnt-x86.64%, or %macosx-ppc%: [{./factor -i=boot.<arch>.image}] == Building from bleeding-edge sources == Instead of tracking a clean branch, you can also track the latest sources. Keep in mind that these might not always build or work correctly, so pay attention to the [[Concatenative IRC channel]] and [[Factor/Mailing list]] if you plan on doing this. *Step 1*: To pull the latest patches, issue the following command in a cloned repository: [{git pull origin master}] *Step 2*: Download the latest boot image for your architecture from [[http://downloads.factorcode.org/images/master/]]. Place the boot image in the Factor directory. *Step 3*: Compile the Factor VM by running make: [{make # Linux, Mac OS X gmake # \*BSD nmake /f Nmakefile # Windows}] *Step 4:* Bootstrap Factor by issuing a command like the following, where %<arch>% is one of %unix-x86.32%, %winnt-x86.32%, %unix-x86.64%, %winnt-x86.64%, or %macosx-ppc%: [{./factor -i=boot.<arch>.image}] === Verify the build === After running your new build, verify it can create an image. *Step 1*: Execute like the following, where %arch% is one of %x86.32%, %unix-x86.64%, %winnt-x86.64%: [{"unix-x86.64" make-image}] *Step 2*: After the image has been built execute Step 4 as described above. *Step 3*: Run factor as described below, if it runs successfully you're good to go. == Building from historic sources == For some points in the source history, boot images marked by their corresponding SHA1 commit tag are available at [[http://downloads.factorcode.org/images/build/]] Once the SHA1 is checked out from Git, building is similar to building bleeding-edge sources. = Running Factor = See [[Factor/Running Factor]].
Describe this revision:
Save