= Building NOM = Note that this information is mostly for the OS/2 build. This is a first draft. It's quite possible some stuff is missing (e.g. some non-standard library I have installed but forgot about). If you have problems visit the #netlabs channel on the [http://www.ecomstation.com/community.phtml?url=nls/en/content/ircnetwork.html&title=eComStation%20IRC%20Network%20Explained eCS IRC network] and try to catch Cinc. == Prerequisites == The following tools must be installed properly * GCC [http://svn.netlabs.org/libc V3.3.x] * [http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=make+3.81&stype=all&sort=type&dir=%2Fpub%2Fos2 GNU make V3.81r1] (other versions may or may not work) * [http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=glib&stype=all&sort=type&dir=%2Fpub%2Fos2 GLIB V2.6.5] libs and headers (or possibly any later version) * A *nix alike shell * The GNU file utilities like cp, rm,... * GNU text utilities * Autoconf 2.59 and friends if configure fails for you * [ftp://ftp.netlabs.org/pub/gcc/contrib/libs/ pkgconfig-0.18] * [ftp://ftp.netlabs.org/pub/gcc/contrib/libs/ popt-1.7] Note that the links are for the OS/2 versions of the various packages. For other platforms you have to look somewhere else. == Getting the source == The source is available in the netlabs.org SVN repository. All development is done in the trunk atm. You have to install the subversion client for OS/2. Get it from [http://silk.apana.org.au/subversion/]. Just put the binaries in your path and set your HOME directory in config.sys (you need a home dir anyway for most *nix programs). ''SET HOME=x:\my_home_dir'' Create a working directory on your system, cd into it and check out the source. I strongly recommend to put the sources on the same drive your *nix tree is located. ''svn co http://svn.netlabs.org/repos/NOM'' This will get all the stuff including everything what's deprecated. == Compiling It == There's no main makefile atm. You have to build the various pieces on your own in the order shown below. Note that you may safely ignore the ''ORBit2-2.14.0'' directory. Before you start change the paths in ''x:/source_base/nom/trunk/make.inc'' to match your setup. === Garbage Collector === NOM uses garbage collected memory only. Go to [http://www.hpl.hp.com/personal/Hans_Boehm/gc/index.html] if you want to learn more about the GC. The GC will be statically linked to the NOM runtime. 1. CD into ''x:/source_base/nom/trunk/gc6.8'' 1. Run ''./configure'' 1. If configure fails, fix the problem and try again... 1. Run ''make'' === IDL Compiler === 1. CD into ''.../nom/trunk/idl-compiler'' 1. Run ''make'' After successfully building the compiler you should have a bin directory holding the executable (''nom-idl-compiler.exe''). x:\source_base\bin === NOM Kernel and Runtime === 1. CD into ''.../nom/trunk/nom'' 1. Change the paths in ''make.inc'' to match your setup 1. Run ''make'' === Test program === 1. CD into ''.../nom/trunk/test'' 1. Run ''make'' The resulting executable ''nom-test.exe'' can be found in ''x:\source_base\bin''.