GoldED+ compilation howto ------------------------------------------------------------------------------- Table of contents 1. Build Golded+ binaries using GNU C. 2. Build Golded+/Win32 binaries using Microsoft Visual C. 3. Build Golded+ distribution packages. 4. Notes for RPM (DEB & etc.) builders. ------------------------------------------------------------------------------- 1. Build Golded+ binaries using GNU C. To compile GoldED+ and utilities you'll need: - GNU C/C++ at least 2.95.4, gcc 3.x.x are recommended - binutils: ar, ranlib, strip - GNU make, GNU sed and GNU grep - shell ans file utilities: cat, mkdir, echo, rm, [ AKA test (If it's is internal commands of your shell, then these utilities don't needs.) - (optional) GNU Groff - if you wants to make html or txt documentation instead man pages - vi, emacs, or any other editor you like - beer or bear on your choice ;-) ---- MINGW OVER CYGWIN ONLY ---- Visits to http://www.cygwin.org/, download setup.exe and install Cygwin with following packages: bash, binutils, fileutils, gcc, gpp, grep, make, sed, sh-utils. ----------- COMMON ------------- ---- DJGPP ONLY ---- Visits to http://www.delorie.com/djgpp/ and download following packages: djdev, bash, binutils, fileutils, gcc, gpp, grep, make, sed, Sh-utils, ntlfn, Groff. Install these packages and run bash. ------ COMMON ------ First, edit GNUmakef.def for the preferrable compilation options. ---- DJGPP ONLY ---- When building in DJGPP environment you may wish to use liblocal which may be found on DJGPP site (visits a http://www.delorie.com/djgpp/ and locate for llocl02b.zip) or on Alexander S. Aganichev's personal page (direct link is http://aaganichev.narod.ru/djgpp/llocl02b.zip). This library provides basic locale support via country.sys driver. Otherwise just comment -llocal in GNUmakef.def. ------ COMMON ------ -- unix-like ONLY -- When building in Linux, FreeBSD or another unix-like OS if you wants use unicode-compatible Golded+ then build Golded+ using ncurses v.5.4 with libncursesw. (This issue is suggested by Dmitry Rodin 2:5020/5410@fidonet.) ------ COMMON ------ Now go to golded3 and copy mygolded.__h to mygolded.h and adjust it for yourself (put your name, FTN address and e-mail). Goto root again. Exec 'make' (or `gmake' on BSD) and drink beer or play with bear until compilation in progress. But better - help your wife (if you have one) or wives (if you have more :)) with home work ;-) ls bin/ You have to get ged{short-patform-name}, gn{short-patform-name}, and rddt{short-patform-name}. If so, you did it! 2. Build Golded+/Win32 binaries using Microsoft Visual C. To compile GoldED+ and utilities you'll need Visual Studio 6.0 with Service Pack 5 or Visual Studio .NET. First, propetly install a following Visual Studio's components: - Visual C/C++ compiler; - Nmake utility. Next, copy golded3\mygolded.__h to golded3\mygolded.h and edit last to adjust it for yourself (put your name, FTN address and e-mail). Last, run following command: nmake /f golded.mak CFG="Release" and make some home work :) until compulation ends. Locate following files in Release\bin sub-directory: gedwin.exe, gnwin.exe and rddtwin.exe. If true - then you have Golded+/W32-MSVC :). 3. Build Golded+ distribution packages. If you want to make binary package of Golded+ then you may call one of gp*.sh shell scripts: - dist-gps.sh to produce full sources package; - dist-gpc.sh to produce config files package; - dist-gpd.sh to produce DOS binaries package; - dist-gpv.sh to produce Win32 (MS Visual C) binaries package; - dist-gpw.sh to produce Win32 (MINGW32) binaries package; - dist-gpl.sh to produce linux binaries package; - dist-sx86.sh to produce Solaris/x86 binaries package. The InfoZIP archiver is required for make Win32, DOS, Solaris/x86 and config packages. TAR and BZip2 is required for make linux package. Iconv program is required for make russian documentation in several encodings in linux package. 4. Notes for RPM (DEB & etc.) builders. Please constructs specs for build Golded+ 1.1.5 using following version numeration and naming style: Development (current) Golded+ 1.1.5 (snapshot of the Golded+): - version number: 1.1.5.0; - release name: string "currentYYYYMMDD", where YYYYMMDD is modification date of sources on cvs (you may look this date using `cvs log` command). Example of naming Golded+ snapshot RPM: Golded+ 1.1.5.0-current20061116 Near future release of Golded+ 1.1.5: - version number: 1.1.5.1; - release name: "release". Example of naming Golded+ release RPM: Golded+ 1.1.5.1-release