C Shell Assembly Objective-C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
The make file enclosed (sr_unix/comlist.mk) will build GT.M from source. The prerequisites are GNU make, GT.M binary installation (which you can download from http://sourceforge.net/projects/fis-gtm/), Linux x86, tcsh, Unicode and GPG include files. Unicode include files are automatically installed if ICU is installed. GPG include files require installing the GNUPG and related library development packages. GNU make 3.81, Ubuntu 10.04 LTS and RHEL 5.0 were used to do the test builds for this distribution. The default ICU and GPG packages were taken from the OS vendors' repositories. To build a production version GT.M for linux do the following steps: 1. Fulfill the pre-requisites. Download and install GT.M binary distribution from SourceForge if you do not have GT.M installed already. The build procedure needs an existing GT.M mumps installed on the machine. You can download GT.M from http://sourceforge.net/projects/fis-gtm/ Unpack the tar file and run the configure script as root. Note: the tar file unpacks everything into your current working directory, not a new subdirectory. The Linux Standard Base (LSB) install path for GT.M V54002 is /opt/lsb-gtm/V5.4-002_i686 or /opt/lsb-gtm/V5.4-002_x8664. $ tar xfz gtm_V54002_linux_i686_src.tar.gz $ sudo sh ./configure 2. Unpack the GT.M sources Change directory in the directory that you will place the GT.M source, here after referred to as <gtm-directory>. $ mkdir <gtm-directory> $ cd <gtm-directory> $ tar xfz gtm_V54002_linux_i686_src.tar.gz You should find this README, COPYING file and sr_* source directroies. 3. Define environment variables needed to build GT.M You will need to use tcsh to build GT.M. GT.M uses several csh script files the define environment variables used in the build process. You will need to define several variables prior to intiating your GT.M build. - Define 'gtm_curpro' and 'gtm_exe' so that you can compile M programs. This is the directory in which you installed the GT.M binaries from SourceForge. $ setenv gtm_curpro <path to installed GT.M> $ setenv gtm_exe $gtm_curpro $ setenv HOSTOS `uname -s` - Define 'gtm_tools' and 'gtm_inc' $ setenv gtm_tools $PWD/sr_linux $ setenv gtm_inc $PWD/sr_linux - [OPTIONAL] Ubuntu users must define 'distro' $ setenv distro ubuntu - [OPTIONAL] By default the build procedure will build 64 bit version of GT.M on a x86_64 bit machine. If you intend to build 32 bit version of GT.M on a x86_64 bit machine you have to explicitly set the environment variable 'OBJECT_MODE' to '32' $ setenv OBJECT_MODE 32 - Specify which ICU version is installed. ICU version needs to be of the form #.# If the result of running "icu-config --version" has the form #.#.#, just use the first two parts. For example, if "icu-config --version" returns 3.8.1, use 3.8 in the "setenv" step. $ icu-config --version $ setenv gtm_icu_version <result of previous step> - Define 'gtm_version_change' and execute gtm_env.csh $ setenv gtm_version_change 1 $ source sr_unix/gtm_env.csh 4. Building GT.M - By default, the gmake will build a production version GT.M. The build type of GT.M can be controlled by a parameter "buildtypes" - dbg (debug), bta (beta), and pro (production). Passing a subset of dbg, bta, or pro in "buildtypes" from the environment or the command line will build that subset. For example: gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux buildtypes=dbg gtm_ver=$PWD will build just a debuggable GT.M release. You can clean your builds by appending 'clean' to the make line. For example: gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux buildtypes=dbg gtm_ver=$PWD clean 5. Packaging GT.M - Once the required builds have been done the object distribution can be tar'ed by doing: gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux gtm_ver=$PWD package Again, buildtypes can be used to package just a subset. For example: gmake -f sr_unix/comlist.mk -I./sr_unix -I./sr_linux buildtypes=pro gtm_ver=$PWD package Appendix: Known warnings and errors - "cc1: note: obsolete option -I- used, please use -iquote instead" You can safely ignore this warning - "chk2lev.mdep:2: *** missing separator. Stop." tcsh is using the builtin echo, you need to set the environment variable 'distro' to 'ubuntu' and clean your build. $ setenv distro ubuntu