Building BibleTrans


This document describes the steps to completely rebuild BibleTrans and its database, with links to the source files. There are still "issues" with some of the steps as noted, which may be fixed before this document is updated. Everything pretty much works on my MacOS (the real Mac, not OSX). To do it on the PC you need these pieces:
 

The T2C compiler, plus some C++ compiler for Win32 (I used VisualStudio)

The source files for BibleTrans code (zip download), in Turk/2, which T2C compiles to C++

The (zip download) source files for BibleTrans database (public-domain version, ask for the licensed data)
 

Building the Programs

Start with the T2C compiler, which you need to download and set up. If you have a late-model MacOS system with tons of memory and 68K emulation, you can use the T68 compiler from here. On a PC you need to create whatever it is your C compiler wants to see for compiling stuff: VisualStudio(2003) calls it a "project" but they make it pretty difficult to build from scratch. You are on your own, I can't help you. I had VS make a default C++ program, then deleted all the source files and replaced them with mine. You need multi-threading, but otherwise just use the minimum defaults. You only need the four BT ".cpp" source files (or the one DocPrep.cpp file), plus the three ".cxx" files; I always explicitly tell it to use "TurkFrame.h" (which has executable code) but it seems to find all the remaining headers on its own. On the Mac none of this is necessary, my compiler builds ready-to-run (68K) applications.

Each compile from Turk/2 to C++ takes a while, so I use something like a MakeFile (see brief description here), which I have included a copy "BTmake.txt" with the source files download. Assuming you have these folders set up (including the defaults for T2C) -- or you can adjust the pathnames to match your folder structure -- and assuming you are starting with an empty library file, this will make C files from all the T2 sources:

^ C:\AllDocs\BTrans\BTsource\BTmake.txt
C:\AllDocs\T2C\Turk2C\Nothing.t2
C:\AllDocs\T2C\Turk2C\SysLibs.t2
$ C:\AllDocs\BTrans\BTsource\SysLibs.cxx
C:\AllDocs\T2C\Turk2C\Cstuff.t2
$ C:\AllDocs\BTrans\BTsource\Cstuff.cxx
C:\AllDocs\BTrans\BTsource\ShareBT.t2
$ C:\AllDocs\BTrans\BTsource\ShareBT.cxx
C:\AllDocs\BTrans\BTsource\BibleTrans.t2
C:\AllDocs\BTrans\BTsource\ActImag.t2
C:\AllDocs\BTrans\BTsource\DoTrees.t2
C:\AllDocs\BTrans\BTsource\ExecEng.t2
C:\AllDocs\BTrans\BTsource\DocPrep.t2


If you neglect to delete the library file (it will be in whatever folder you set up for T2C) or replace it with an empty, you will get a "====>> Pkg # failure" error. If you have a saved copy of the library after building the SysLibs part of T2C, you can omit those steps from this make, but trying a partial build with an empty library file and not starting with Nothing.t2 corrupts the generated C code, although it appears to succeed.
 

Building the Database

You need the DocPrep program (as compiled through C), and the source data files unpacked into a folder. One of the files in that folder is FileList.txt which contains a list of all the files this program needs. It assumes almost everything is in a folder "C:\AllDocs\DocPrep\" which if it's not, you need to fix the file names. Sorry, I could do an installer that would do that for you, but there are more important things to do -- like making everything work. The first time you run DocPrep, it will ask you for the FileList; after that it saves the file location in the Registry and always looks there. I guess if you delete the file, it will ask again, but I don't recall trying it.

DocPrep puts up a dashboard window, in which you can choose what parts of the build you want to run. "Do All" rebuilds everything from the files as extracted from the zipped folder. For more information, see "Document Preparation". The final step of this process is to build the "BT_Docs.BTD" which BibleTrans needs to run. This is currently 17.2MB. It is also supplied as part of the Demo download. The first time BibleTrans runs it looks for its tree files (actually just MattTree.BTD), and if it doesn't find them, rebuilds the set. You need to do this fresh for this version. Then install the existing trees by opening them in the Trees folder from the File->Open menu in BibleTrans. Opening "imLkTreeList.txt" and "imPhpTreeList.txt" will read in all the trees listed in those respective files.
 

2015 March 4