Kalkulon - A programmable expression calculator for programmers Kalkulon is free software - (c) J. Holetzeck 2007, 2010 contact@kalkulon.de To learn how to use Kalkulon see the HTML documentation! CONTENT 1) HOW TO COMPILE 2) KNOWN ISSUES 3) CHANGE LOG 4) LICENSE ====== 1) HOW TO COMPILE Download source code from http://www.kalkulon.de There are two versions of Kalkulon a) Console version (kkc) which should be compilable on every platform with standard-conforming C++ compiler; source code files "core/*" b) GUI version (Kalkulon) which should be compilable on every platform providing at least Qt 4.2 framework (see www.trolltech.com/qt); source code files "core/*" AND "gui/*" Kalkulon can be built with freely available tools. For Windows I provide the binaries compiled with the open source version of Qt 4.5.2 and the windows port of gcc MINGW (www.mingw.org). For Linux you can either compile the Qt framework yourself (takes some time) or get the pre-compiled developer packages from your distribution (e.g. Ubuntu > 6.10 or openSuse > 10.2). a) I tested the console version with - VC6, VC2008 Express (native and /clr:pure), MINGW (www.mingw.org) (gcc/g++) on Windows - gcc/g++ on Linux (supporting readline library) If you want to compile as pure C++ code without any dependencies to external libraries/APIs check the files stdafx.h and Makefile.* and undefine all USE_xxx macros! Windows: change to directory "core" - VC6: load kkc.dsp and compile - VC2008 C++ (Express): load kkc.sln and compile - MINGW: check Makefile and run "mingw32-make" Linux: change to directory "core" - be sure to either have readline developer files or undefine USE_READLINE in Makefile - run "make" To quick check the executeable run "kkc runregtest.k" (be sure that both files are in same directory and that subdirectory "examples" is also there) b) I tested the GUI version with - MINGW/Qt 4.5.x on Windows XP - g++/Qt 4.5.x on Ubuntu 9.04 and openSuse 11.1 To compile (all platforms): - be sure to have Qt 4.2.x (or higher) framework and suitable C++ compiler installed - run "qmake" - run "make" To quick check the executeable run "Kalkulon" (be sure that "runregtest.k" and subdirectory "examples" is also there) and type in Kalkulon: Load("runregtest.k") ====== 2) KNOWN ISSUES: --- ====== 3) CHANGE LOG changes in 3.0.1.4 - bugfix: call explicitly because this changed by QApplication changes in 3.0.1.3 (code only) - code only: make compilable with g++ 4.4.0 on Windows (different include structure) changes in 3.0.1.2 (fixes for Qt4.5 only) - bugfix: call explicitly because this changed by QApplication - change: size of input window changed (QTextEdit has a larger margin in Qt4.5) changes in 3.0.1.1 (code only) - code only: make compilable with g++ 4.3.2 (different include structure) changes in 3.0.1.0 (GUI only) - add: mark matching parenthesis, brackets etc. while editing changes in 3.0.0.2 - add: SetRecursionLimit(n), recursion is limited to 150 as default - change: SetNumFormat, SetHexFormat etc. now return old format string - change: Type(n) == 2, for all numbers n (integer or not) - bugfix: no stack overflow through unlimited recursion - bugfix: strings containing "<...>" are properly displayed in label window - code only: safer handling of snprintfs - code only: faster handling of DataObject changes in 3.0.0.1 (GUI only) - bugfix: Help file opens even if there are spaces in Kalkulon path - bugfix: Options dialog stays always in foreground of main window - bugfix: in base window decimal number (2. line) wrap aroung like hex and bin - code only: eliminate some warnings changes in 3.0.0.0 - new: Qt GUI for Win32 and Linux Platform with free source code available - change: Table(arg, pure-fn) modified for 0 and negative values Table(0, '#') returns empty list {} Table{-3, '#') returns {-1,-2,-3} changes in 2.7.5.1 - code only: eliminate warnings for gcc (<= 4.03) with setting -Wall changes in 2.7.5.0 - add: support of escape sequences in strings like "\\", "\"", "\n", "\t" - bugfix: Sprintf("%032b", ...) prefix zeros on all platforms (Linux) - bugfix: Sprintf("%b", ...) doesn't cut off at 0x80000000 anymore (VC8, gcc) changes in 2.7.4.0 - add: support of readline library for Linux targets changes in 2.7.3.2 - bugfix: Sprintf("%x", ...) doesn't cut off at 0x80000000 anymore (VC8, gcc) changes in 2.7.3.1 - bugfix: cast operators fixed ====== 4) LICENSE Kalkulon is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Kalkulon is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see .