TIGCC for Linux and Unix


Welcome to the official homepage of the Linux port of TIGCC. This port was previously maintained first by Henri Moilanen, then by Romain Liévin. It is now maintained by Kevin Kofler of the TIGCC Team.

The goal of the project is to provide on the Linux/GNU/X11 platform (X11 is required for the IDE only) the same features TIGCC provides on Win32, including an IDE: KTIGCC. While the only *nix platform I can test things on is GNU/Linux on Intel-compatible x86 and x86_64 processors, I am also maintaining compatibility with Linux on non-x86 platforms and with other Unices (*BSD, MacOS X etc.).

News

KTIGCC 1.10 2009-01-17
   I uploaded another bugfix release of KTIGCC. It fixes some build issues (a compiler error with GCC 4.3 and the ./configure wrapper script only working if /bin/sh is bash) and an array overflow during processing of external data variables (probably not exploitable, but can crash KTIGCC or make it misbehave).

   In addition, a set of patches which may be of interest to some users is now provided (the ktigcc-patches tarball). Please read the description of each patch carefully before applying them!

   Scroll down to the download section to get KTIGCC 1.10.

KTIGCC 1.09 2007-10-09
   I uploaded another bugfix release of KTIGCC. This release fixes an infinite loop in the completion information parser under certain conditions (when user-provided headers included each other in a cycle), which caused a lockup and hard disk thrashing on the affected projects.

   Scroll down to the download section to get KTIGCC 1.09.

KTIGCC 1.08 2007-07-09
   I uploaded another stable release of KTIGCC. This release fixes 2 bugs (see the release notes), takes advantage of a new feature in KDE 3.5.7 (which is now required) and installs into the system prefix (or a custom prefix of your choice) instead of sharing one with TIGCC.

   Scroll down to the download section to get KTIGCC 1.08. Fedora 7 RPMs are also available from the CalcForge RPM repository.

KTIGCC 1.07 2007-04-03
   I uploaded another bugfix release of KTIGCC. See the release notes for the list of bugs fixed.

   Scroll down to the download section to get KTIGCC 1.07. Fedora Core 6 RPMs are also available from the CalcForge RPM repository.

New TIGCC RPMs 2007-04-01
   I'm sure you're all impatiently waiting for a great April Fools Joke to laugh about. Unfortunately, I have to bore you with real news. ;-)

   I have improved the Fedora Core 6 RPMs for TIGCC:
  • The RPM is now built from source using Fedora's default compiler flags, not from installed binaries.
  • I fixed an ld-tigcc bug which was breaking it when compiled with Fedora's _FORTIFY_SOURCE flag (and backported the patch from the CVS repository into the RPM).
  • A source RPM is now provided.
  • A separate debugging information RPM (tigcc-debuginfo) is now generated, which can be used to debug TIGCC if one of the executables in TIGCC crashes.
  • The A68k assembler has been split out into an optional tigcc-a68k package, so if you don't like its license, you don't have to install it anymore. (A68k has been optional and disabled by default in the Windows version for a long time, the RPMs now match this.)
   The updated packages are available from the new CalcForge RPM repository. Direct links are provided in the download section below.

KTIGCC 1.06 2006-11-25
   I uploaded another bugfix release of KTIGCC. This release fixes a few minor bugs, adds some missing keywords to the default assembly syntax highlighting settings and implements 2 small convenience features from TIGCC IDE which were missing. See the release notes for the list of bugs fixed.

   Scroll down to the download section to get KTIGCC 1.06.

TIGCC v0.96 Beta 8 r1 2006-10-31
   This release corresponds to TIGCC v0.96 Beta 8, the eighth beta for the new TIGCC 0.96 release series. This release fixes a few bugs in GCC and TIGCCLIB and features 2 minor optimizations in TIGCCLIB. Moreover, the source installation scripts have been fixed to make the 2 symlinks they install relative, so the resulting binaries can be moved to a different $TIGCC without breaking them. The binaries are now built on Fedora Core 6, in particular, they need glibc 2.5. See the message board for details.

   Reminder to Mac OS X users: don't use XCode 2.2 or 2.2.1 to build TIGCC, this won't work (due to lack of nested function support). If you're using these versions, please upgrade to XCode 2.3, which has been supported since 0.96 Beta 7 r1.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 8 r1. The completion data for KTIGCC has also been updated.

KTIGCC 1.05 2006-10-24
   I uploaded another bugfix release of KTIGCC. This release fixes another compilation issue on Mac OS X and RPM installation on Fedora Core 6 (Zod). Note that the RPM installs only on Fedora Core 6. If you're still running Fedora Core 5, please use version 1.04 instead, which is identical except for these 2 compilation and installation fixes and the version number. If you have successfully installed KTIGCC 1.04, then there is no reason for you to upgrade to 1.05.

   Scroll down to the download section to get KTIGCC 1.05.

KTIGCC 1.04 2006-09-25
   I uploaded another bugfix release of KTIGCC, fixing compilation issues and a bug (garbage at the end of opened files) on Mac OS X. A new snapshot of the libti* libraries required by KTIGCC which fixes OS X compilation issues has also been released.

   Scroll down to the download section to get KTIGCC 1.04.

KTIGCC 1.03 2006-09-17
   I uploaded another bugfix release of KTIGCC, fixing entering asm( causing an unwanted and unhelpful "prototype help" to show up.

   Scroll down to the download section to get KTIGCC 1.03.

KTIGCC 1.02 2006-09-05
   I uploaded a bugfix release of KTIGCC. See the release notes for the list of bugs fixed.

   Scroll down to the download section to get KTIGCC 1.02.

KTIGCC 1.01 2006-08-21
   Another KTIGCC update, just before the Summer of Code deadline, adding a feature requested by Lionel Debroux: Find and Replace dialogs now remember history (but only for the current KTIGCC session).

   Scroll down to the download section to get KTIGCC 1.01.

KTIGCC 1.00 2006-08-20
   KTIGCC, the IDE, has reached version 1.00! Compared to the last beta, there was a bugfix (moving files after compilation only worked when they were on the same file system) and improvements in the RPM package (.tpr files now automatically get associated with KTIGCC in KDE and GNOME).

   This is the final Summer of Code release. KTIGCC 1.xx will stay maintained for bugfixes and to adapt it to new features in TIGCC, but for new IDE features, the plan is that there will be a KDE-4-based cross-platform KTIGCC 2.00 replacing both TIGCC IDE and KTIGCC 1.xx, and this is where new features will go.

   Scroll down to the download section to get KTIGCC 1.00.

KTIGCC 20060814 Beta 2006-08-14
   I have uploaded a second beta of the KTIGCC IDE. This beta adds support for code templates, code completion and function argument hints. (Note that for this to work, TIGCCLIB completion data in the format expected by KTIGCC is required. This is provided in the download link next to KTIGCC. It can also be generated from the TIGCC source code.) It is now considered feature-complete and there will be only bugfixes from now until version 1.00. There have also been a few bugfixes and minor improvements since the last beta. The exact list of changes can be found in the release notes.

   Scroll down to the download section to get KTIGCC 20060814 Beta.

First Beta of the KTIGCC IDE 2006-08-07
   The KTIGCC IDE (a Google Summer of Code 2006 project* mentored by Detached Solutions) has reached beta stage. It is based on the KDE libraries and should run on all X11-based *nix (Linux, BSD, ...) systems. (That should include Mac OS X with X11 installed, though nobody has reported having tried.) KTIGCC can be used for editing, compiling and (with the help of TiEmu 3) debugging TIGCC programs. It uses the same project file format as TIGCC IDE and the menu and dialog structure is almost the same, so switching between TIGCC IDE and KTIGCC should be very easy. KTIGCC supports the same features as TIGCC IDE, except for "Find symbol declaration" and code completion, which are still being worked on. Like TIGCC IDE, it features customizable syntax highlighting (based on the KatePart), transfers to an emulator (TiEmu 3) or a real calculator, news fetching and more. See the Features section for a screenshot (which may be updated from time to time). Users of the 20060731 alpha version can find a list of changes in the release notes.

   UPDATE (2006-08-07): Looks like a bad start. The version I uploaded turned out to be broken (syntax highlighting didn't work), I just fixed that. (When upgrading from the bad version, select File/Preferences/OK to fix the problem.)

   Scroll down to the download section to get KTIGCC 20060807 Beta.

* For the pedantically-minded: The SoC project is called "Finishing KTIGCC", as there was existing work before the SoC period.

TIGCC v0.96 Beta 7 r1 2006-07-30
   This release corresponds to TIGCC v0.96 Beta 7, the seventh beta for the new TIGCC 0.96 release series. This release features a new GCC from the 4.1 branch (4.1.2-tigcc-pre7), compilation fixes for *BSD and OS X, bugfixes in the *nix command-line frontend, a few documentation updates by Lionel Debroux (more still pending), size optimizations to the grayscale routine by Jesse Frey and new switches in ld-tigcc and tprbuilder. Moreover, ExePack compression support is now Free Software. Also note that the TIGCC Tools Suite by the TICT has been split into a separate package. The binaries are now built on Fedora Core 5, in particular, they need glibc 2.4. See the message board for details.

   Note to Mac OS X users: don't use XCode 2.2 or 2.2.1 to build TIGCC, this won't work (due to lack of nested function support). If you're using these versions, please upgrade to XCode 2.3, which is supported as of this version.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 7 r1.

TIGCC v0.96 Beta 6 r1 2005-10-02
   This release corresponds to TIGCC v0.96 Beta 6, the sixth beta for the new TIGCC 0.96 release series. This release is mainly a bugfix release: GCC was updated to 4.0.2, fixing several bugs, and bugs in A68k, ld-tigcc, the Dialog Struct example, pstarter, TIGCCLIB and the command-line compiler were fixed. In addition, the decompression routine in the pstarter launchers was size-optimized. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 6 r1.

TIGCC v0.96 Beta 5 r1 2005-07-03
   This release corresponds to TIGCC v0.96 Beta 5, the fifth beta for the new TIGCC 0.96 release series. This release fixes several bugs in the toolchain (mainly in GCC and GNU as, and some in ld-tigcc), mostly related to debugging information (in particular, debugging information can now also be generated for programs with BSS sections). It also adds support for the new version 1.01 of the _nostub comment specification, introducing the new COMMENT_AUTHORS field. Moreover, GCC has been updated to the 4.0.1-20050630 snapshot and GNU as to the 2.16.1 release. In addition, source install script issues on OS X have been fixed, and the Linux/x86 binaries are now built on Fedora Core 4. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 5 r1.

TIGCC v0.96 Beta 4 r1 2005-04-30
   This release corresponds to TIGCC v0.96 Beta 4, the fourth beta for the new TIGCC 0.96 release series. The main improvement in this release is the addition of support for debugging information in the DWARF 2 format. This allows to debug TIGCC programs at source level using GDB-enabled versions of the TiEmu emulator, a snapshot of which will be released shortly. Moreover, GCC has been updated to the 4.0.0 release, and, as usual, bugs have been fixed. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 4 r1.

TIGCC v0.96 Beta 3 r1 2005-03-24
   This release corresponds to TIGCC v0.96 Beta 3, the third beta for the new TIGCC 0.96 release series. This release includes GCC 4.0.0 (prerelease) by default and adds support for Mlink-format relocs. There are also a few minor improvements and bugfixes. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 3 r1.

TIGCC v0.96 Beta 2 r1 2005-02-09
   This release corresponds to TIGCC v0.96 Beta 2, the second beta for the new TIGCC 0.96 release series. This release mainly adds support for the GCC 4.0 prereleases available at http://www.ti-news.net/projects/gcc40/. (Note that the GCC included in this beta is still GCC 3.3.3. Linux/x86 binaries of GCC 4.0-tigcc-pre can be made available on request.) There are also a few bugfixes. See the message board.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 2 r1.

TIGCC v0.96 Beta 1 r1 2005-02-02
   This release corresponds to TIGCC v0.96 Beta 1, the first beta for the new TIGCC 0.96 release series. While the port of GCC 4.0 is not ready yet, there are already plenty of features waiting for you: many documentation improvements, a new ExePack launcher with an almost halved size compared to the one in the 0.95 release, linker (section reordering) and assembler improvements and a few bugfixes. See the message board for details.

   Also note that the Linux/x86 binaries (both the binary tarball and the RPM) are now built with GCC 3.4 rather than GCC 2.96-rh, in preparation for an upcoming build machine update to FC3 which doesn't include the old GCC 2.96-rh anymore. For compatibility, I am linking libgcc statically (-static-libgcc) and using -Wdeclaration-after-statement to catch mixed declarations and code (which don't work in GCC 2.95/2.96). GCC 3.4 users will be happy to know that I fixed A68k so it builds with GCC 3.4.

   As usual, scroll down to the download section to get TIGCC 0.96 Beta 1 r1.

TIGCC v0.95 r3 2004-11-13
   This is a regression fix release for the tigcc frontend. It fixes a segfault when compiling/assembling files when no -Wa and/or no -WA switch is given which was introduced in the 0.95 r2 release. The Windows release was not affected by this bug.

   As usual, scroll down to the download section to get TIGCC 0.95 r3.

TIGCC v0.95 r2 2004-10-31
   This is a bugfix release for the tigcc frontend. It fixes handling of the verbose/quiet switches and of the -Wa and -WA switches to pass options to the assemblers. The Windows release was not affected by these bugs.

   As usual, scroll down to the download section to get TIGCC 0.95 r2.

TIGCC v0.95 r1 2004-10-25
   This version corresponds to the long awaited final version of TIGCC 0.95. Please download it and look for show-stopper bugs and version number mismatches. If there aren't any, I will upload it to ticalc.org soon. See the message board to know what's new.

   As usual, scroll down to the download section to get TIGCC 0.95 r1.

TIGCC v0.95 Beta 20 r1 2004-10-17
   This version corresponds to the Win32 Beta 20. This release fixes bugs in GCC, ld-tigcc and the documentation and optimizes 2 TIGCCLIB macros (GetStrnArg, GetSymstrArg). In addition, a few improvements to the installation procedure have been made:
  • The wizards don't try to detect and use X11 dialog programs if no X11 connection is available anymore.
  • If no suitable dialog program is found (either because there is no dialog program at all or because there are only X11-based ones and no X11 connection), a plain bash-based interface is presented. Use of this interface can also be forced by setting $DIALOG to none.
  • The RPM can now be installed into any directory by specifing --prefix "your destination directory". Please don't try to install it into /, /usr, /usr/local or any other existing non-empty directory. /usr/local/tigcc (the default) or ~/tigcc (if you don't have root access to the machine) are good choices.
See the message board for details.

   And since we are talking about installation: There is still some confusion about how to install the binaries. Please don't extract the binary tarball yourself! You should simply put the tarball and the install script into the same directory (which can be any directory, even ~ or /, no files will be written to that directory) and then run the install script, which will untar the tarball into the destination directory you specify and also set the environment accordingly. Any attempt to manually install the binaries is not supported, any complaints about the binary tarball not untarring the way you want if you untar it manually will be ignored.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 20 r1.

TIGCC v0.95 Beta 19 r1 2004-09-23
   This version corresponds to the Win32 Beta 19. (Yes, Beta 18 r1 has been skipped.) This release implements a new section reordering algorithm in the linker, adds support for TI-89 Titanium FlashOSes and unoptimizable relocs, and contains a few minor improvements and bugfixes in various components. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 19 r1.

TIGCC v0.95 Beta 17 r1 2004-09-06
   This version corresponds to the Win32 Beta 17, a bugfix release. It also includes the latest ttstart-universal, a launcher running on both the Titanium and non-Titanium calculators, so separate Titanium launchers are no longer needed. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 17 r1.

TIGCC v0.95 Beta 16 r1 2004-08-10
   This version corresponds to the Win32 Beta 16. (Unlike the Win32 Beta 16, this is a complete release packaged in the usual ways, you need not install Beta 15 r1 before.) This is a bugfix release only. It fixes a few bugs found in GCC, GNU as, ld-tigcc, pstarter-titanium and tigcc.a. It also fixes the handling of keyword disambiguators in the documentation converter. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 16 r1.

TIGCC v0.95 Beta 15 r1 2004-08-06
   This version corresponds to the Win32 Beta 15. (Yes, Beta 14 r1 has been skipped.) This release adds support for string and constant merging and fixes a few bugs in the linker. It also includes the updated ttstart 1.21. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 15 r1.

TIGCC v0.95 Beta 13 r1 2004-07-21
   This version corresponds to the Win32 Beta 13. (Yes, Beta 12 r1 has been skipped.) This release fixes bugs in several TIGCC components (A68k, GCC, GNU as, ld-tigcc, TIGCCLIB) and improves support for -ffunction-sections and -fdata-sections. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 13 r1.

TIGCC v0.95 Beta 11 r1 2004-06-22
   This version corresponds to the Win32 Beta 11. This release fixes 4 bugs, and adds support for nested function trampolines (taking the address of a nested function) on the TI-89 Titanium. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 11 r1.

Oops... or "TIGCC v0.95 Beta 10 r2" 2004-06-14
   Sorry, the Beta 10 r1 release was a "brown paper bag" release... The linker didn't compile because of a missing source file and was therefore also missing in the binaries. I don't know exactly how I failed to notice that, but I definitely need to pay more attention to the build logs and/or at least try to compile "Hello, World!". Sorry for that. This release adds the missing files and actually works now.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 10 r2.

TIGCC v0.95 Beta 10 r1 2004-06-11
   This version corresponds to the Win32 Beta 10. The linker now supports reordering sections to make references shorter and faster. There are also lots of bugfixes, some of which are important. See the message board for details.

   Note that my build system has been upgraded from Fedora Core 1 to Fedora Core 2.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 10 r1.

TIGCC v0.95 Beta 8 r1 2004-04-27
   This version corresponds to the Win32 Beta 8. This is mainly a bugfix release. The tprbuilder now supports Flash operating systems, and tprbuilder --clean has been fixed. The linker documentation has also been updated to reflect the addition of Flash OS support in Beta 7. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 8 r1.

TIGCC v0.95 Beta 7 r1 2004-04-15
   This version corresponds to the Win32 Beta 7. This beta adds one new feature: support for (unsigned) Flash operating system upgrades. Thanks to Billy Charvet for his contribution to the linker. Otherwise, it is a bugfix release only. About 9 bugs in various components have been fixed. Note that the binary tarball no longer contains a usr/local/tigcc subdirectory, so you must not untar it to / anymore. Untar it to the desired destination directory (for example /usr/local/tigcc) instead, or use the wizard script which does everything for you. See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 7 r1.

TIGCC v0.95 Beta 6 r1 2004-03-14
   This version corresponds to the Win32 Beta 6. What's new:
  • Support for the TI-89 Titanium
  • Many bugfixes in GCC: in particular, -mpcrel now actually works, -freg-relative-an no longer spits out an unfixable warning, floating point now works with -fomit-frame-pointer and bugs in format string checking have been fixed
  • Minor bugfixes in the *nix-specific frontend
   See the message board for details.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 6 r1.

Fedora Core 1 RPM now available 2004-01-31
   I have uploaded a binary RPM of TIGCC 0.95 Beta 5 r2 for Fedora Core 1 on i386. That way, at least those running Fedora Core 1 won't have any excuses for not installing TIGCC. :-) Note however that:
  • As a binary package, the RPM is of course architecture-dependent. These are i386 binaries.
  • This package is known to work only on Fedora Core 1 and reportedly on Red Hat Linux 9 and Mandrake Linux 9.1. Install it on other RPM-based distributions at your own risk. As for non-RPM-based distributions, alien may or may not work, use it at your own risk. The setup wizard or the source installation wizard are probably better alternatives for non-RPM distributions.
  • The RPM will install TIGCC to /usr/local/tigcc, so you need to be root to install it. If you want to install TIGCC somewhere else, use the setup wizard instead.
  • The RPM is made possible by my envreg utility written for the setup wizard, which automatically adds the settings for $TIGCC and $PATH to /etc/bashrc. There is no uninstall option in envreg yet, so if you want to completely uninstall TIGCC, you'll need to remove the 2 lines it adds to /etc/bashrc by hand. They won't do any harm if they are left there though.
  • There is no source RPM, and there currently can't even be, because the corresponding specfile entries are not written yet (they are left empty). If you want to roll your own RPM, you need to install from source through the source installation wizard and then run rpmbuild. (That's how I did it too.) The compile steps will simply do nothing, and rpmbuild will use your already compiled binaries. For the build root, I simply used a cd /;ln -s . vroot to get things running. If all you want is just to install TIGCC from source, that's what the source installation wizard is for, you don't need an SRPM.
   The RPM can be found at the download section.

Setup wizards now available 2004-01-24
   I have added a binary setup wizard and a source installation wizard, so installing TIGCC is now really easy.

   To install from binaries:
  • Download tigcc_bin.tar.bz2 and Install.sh into the same directory.
  • Make sure Install.sh is executable:
    chmod 755 Install.sh
  • Run Install.sh:
    ./Install.sh
    and follow the instructions. If you want a text-mode install on a system with KDE installed, you can use:
    DIALOG=dialog ./Install.sh
    to tell the script to use the text-mode (curses) dialog instead of kdialog. The wizard will ask you for the destination directory and take care of the environment settings for you.
   To install from source, download and untar tigcc_src.tar.bz2 and follow the new, simplified instructions in the INSTALL text file. Basically, after you have untarred tigcc_src.tar.bz2 and the required GNU tarballs, and set up the gcc.ti and binutils.ti symlinks, the wizard takes care of the rest for you. It will prompt you for the destination directory, the bootstrap compiler and the optimization flags (in most cases, the defaults will be fine, so you just have to click OK), ask if you want to apply the TIGCC patch (useful if you want to install multiple times from the same sources), compile and install everything and take care of the environment settings. The wizard will also automatically detect if you are bootstrapping with Apple GCC (the default compiler on Mac OS X) and set the required -no-cpp-precomp and -DHAVE_DESIGNATED_INITIALIZERS=0 flags accordingly.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 5 r2.

TIGCC v0.95 Beta 5 r1 2004-01-12
   This version corresponds to the Win32 Beta 5. What's new:
  • The QT Assistant 3.2 (or higher) ADP file should now work. (2 quotes were missing in it because I forgot to escape them in the shell script generating it. Reported by Christian Walther.)
  • The CHM to QT Assistant documentation converter now adds the keywords only to the first mention of an URL, so QT Assistant won't show 2 or more identical "alternatives" in the index. This also reduces the size of the file by a few KB.
  • TIGCCLIB update, fixing a bug with ENABLE_ERROR_RETURN and a MIN_AMS of 200 or higher (the same fixed in TIGCC 0.94 SP4, it was accidentally reintroduced while converting TIGCCLIB to the new format in 0.95 Beta 1), readding the ST_showHelp alias for ST_helpMsg (which mistakenly was changed to a duplicate mention of ST_helpMsg in Beta 4) and adding a few functions to estack.h.
  • Updated A68k to 2.71.F3q, which fixes a few bugs with the all-relocs mode enabling linker-side range-cutting.
  • Updated GCC to 3.3.1-tigcc-pre26, which eliminates searching of hard-coded paths (using instead only the prefix specified at runtime, which is read from $TIGCC by the TIGCC frontend) and fixes a loop unrolling bug with -Os (for the 0- and 1-execution cases, which are unrolled even under -Os).
  • The source release now automatically deletes the temporary build directory created for the GCC and Binutils builds after their build is done. You no longer need to run remove_build between 2 compilations.
   As usual, scroll down to the download section to get TIGCC 0.95 Beta 5 r1.

TIGCC v0.95 Beta 4 r4 2003-12-29
   The documentation is now provided in a format supporting table of contents, index and fulltext search: a QT Assistant 3.2 document profile, autogenerated from the CHM equivalents (Contents.hhc and Index.hhk). This means:
  • Users of QT Assistant 3.2 or higher can use the tigccdoc shell script to directly invoke QT Assistant with the TIGCC Documentation.
  • Users of QT Assistant 3.1 or lower can manually add qt-assistant.dcf to the QT Assistant documentation set. However, this has the disadvantage that the index and the fulltext search will mix entries from the QT documentation with entries from the TIGCC documentation, so it is recommended to use QT Assistant 3.2 and tigccdoc instead.
  • Users not using QT Assistant can view the raw HTML documentation exactly the same way as before, as the only change in the doc/html directory was the addition of 4 new files (Contents.hhc, Index.hhk, qt-assistant.dcf and qt-assistant.adp). However, this way they will not profit from the table of contents, index and fulltext search features, so it is recommended to install QT Assistant 3.2 or higher.
   The GPL version of QT Assistant can be obtained for free from http://www.trolltech.com. For binary packages, check with your Linux distributor or operating system vendor.

   Note that I could only test the QT Assistant 3.1 DCF file, so if there are any problems with the QT Assistant 3.2 ADP document profile, please report them to me.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 4 r4.

TIGCC v0.95 Beta 4 r3 2003-12-26
   This is a bugfix release only:
  • I fixed an installation script typo reported by Christian Walther: the debugging information parser is now actually installed. (The binaries were not affected by this bug because I had installed the parser manually.)
  • The Install_All and Install_All_nopatch scripts now automatically create $TIGCC if the directory doesn't exist yet. (Suggested by Christian Walther.)
  • I have updated README.osX with current information from Christian Walther.
   By the way, I'd like to thank Christian Walther for his regular and timely testing of my releases. If you want to have your name all over a newsitem like his is here, be the first to send me a test report of a release, preferably with some actual bug reports and/or suggestions for quick, but useful improvements, and preferably on a non-Linux and/or non-x86 platform. ;-)

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 4 r3.

TIGCC v0.95 Beta 4 r2 2003-12-25
   I have replaced the Kylix port of the old TIGCC 0.94 debugging information parser with a new C program, which is up-to-date with TIGCC 0.95. This means:
  • It now no longer works on object files (as this only made sense with the whole-program object files of TIGCC 0.94), but only on the .c and .s files, as in TIGCC 0.95 for Win32.
  • The executable is much smaller.
  • tigcc -g should now work flawlessly.
  • tigcc -g now works on all supported platforms, it is no longer restricted to Linux/x86.
   As usual, scroll down to the download section to get TIGCC 0.95 Beta 4 r2.

TIGCC v0.95 Beta 4 r1 2003-12-23
   I have released TIGCC 0.95 Beta 4 r1 for Linux/Unix/OS X. This corresponds to the Win32 Beta 4 release. In particular, this includes important GCC target floating point bugfixes (which also affect other things, for example optimization), and the automatic in-use bit setting.

   Sorry for the very long delay between the previous *nix TIGCC release and this one. I have been very busy with university stuff lately. Beta 3 r1 was also skipped for lack of time. As a small bonus in exchange for the wait, I have included the latest bugfix release of A68k (2.71.F3p), which has to be downloaded separately for the Windows Beta 4.

   One more small note: The binaries are now compiled on Fedora Core 1. However, I have used the 7.3-compatibility-GCC, so they really ought to work on older RedHat releases (and hopefully other x86 Linux distributions) too. As usual, try them, and complain if something is broken.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 4 r1.

TIGCC v0.95 Beta 2 r1 2003-10-19
   I have released TIGCC 0.95 Beta 2 r1 for Linux/Unix/OS X. This corresponds to the Win32 Beta 2 release. In addition, I have fixed a TIGCC frontend bug which kept -c or -S with multiple source files from working.

   As usual, scroll down to the download section to get TIGCC 0.95 Beta 2 r1.

TIGCC v0.95 Beta 1 r1 2003-10-05
   TIGCC 0.95 Beta 1 r1 for Linux/Unix/OS X has been released on 2003-09-28. The files will be uploaded to tigcc.ticalc.org soon. In the meantime, many thanks to Vertyos for hosting them.

   UPDATE (2003-10-06): The files are now up in the download section, as usual.

TIGCC v0.94 SP4 r2 2003-09-19
   While work on TIGCC 0.95 Beta 1 is still going on (the Win32 version is very close to release, the *nix port will take some more time because many things changed with the new linker), I am releasing this bugfix release for TIGCC 0.94 SP4. It fixes various buffer overflow and shell metacharacter bugs in the tigcc frontend (patches by Nils Gesbert). I also added a warning when the deprecated -Wl switch is used. (That switch is obsolete because TIGCC 0.95 won't use GNU ld anymore, but will instead include its own linker.) And the tigcc frontend now passes -B $TIGCC to GCC.

   Note that this is a bugfix release for the tigcc frontend only, the shipped GCC is still version 3.2.1-tigcc-2 as with TIGCC 0.94 SP4, so you might want to upgrade to a 3.3.1 prerelease from http://tigcc.ticalc.org/gcc33/ if you don't mind compiling GCC from source.

   As always, scroll down to the download section to get TIGCC 0.94 SP4 r2.

TIGCC v0.94 SP4 r1 2003-02-17
   I'm again a bit late since I did some work on TIGCC 0.95 as well, but here's the Linux/Unix version corresponding to the TIGCC 0.94 SP4 release for Windows. Apart from the usual TIGCCLIB update (which fixes a bug with ENABLE_ERROR_RETURN), there is a patcher fix which fixes a problem with 4-digit error codes. Contrary to the Win32 version, the bug only appeared with -freg-relative-an. As always, scroll down to the download section to get TIGCC 0.94 SP4 r1.

TIGCC v0.94 SP3 r1 2003-01-19
   Well, some bugs have been found in the "final" 0.94 release, so Sebastian released a few service packs. And worse, when he uploaded SP1, a new serious bug was found before I had the time to release the corresponding Linux/Unix port, so I decided to just wait for the next service pack. And of course, that service pack (SP2) took longer than we initially thought. And it stayed up only one day until the next serious bug popped up and was fixed. So now, here we are with SP3 and with the corresponding Linux/Unix port. As always, scroll down to the download section to get TIGCC 0.94 SP3 r1.

   The only thing really new is that I updated TIGCCLIB (libs, documentation and includes) and examples to TIGCC 0.94 SP3, which fixes bugs with some stdio file functions and with SET_FILE_IN_USE_BIT, as well as the prototype of MD5Update.

TIGCC v0.94 r1 2002-12-22
   Finally the Linux/Unix port of the official TIGCC 0.94. I was quite busy this week, that's why it has taken so long (a whole week). Sorry for that. Scroll down to the download section to get TIGCC 0.94 r1.

   What's new:
  • Updated TIGCCLIB (libs, documentation and includes) and examples to TIGCC 0.94 (release).
  • Updated the GCC patch to 3.2.1-tigcc-2 as in the Win32 version of TIGCC 0.94 (release).
  • The Linux/x86 binary release now links libstdc++ statically into obj2ti for compatibility reasons.

TIGCC v0.94 Beta 22 r1 2002-11-30
   Sorry for having been a bit slower this time. This is the new Linux/Unix/OS X release corresponding to the Windows TIGCC 0.94 Beta 22 release. Scroll down to the download section to get TIGCC 0.94 Beta 22 r1.

   What's new:
  • Updated TIGCCLIB (libs, documentation and includes) and examples to TIGCC 0.94 beta 22.
  • Updated GCC to 3.2.1-tigcc-1 as in the Win32 beta 22.
  • Fixed a few bugs in the tigcc frontend.

TIGCC v0.94 Beta 21 r1 2002-11-16
   Once more, a new Windows release, so here's the corresponding Linux/Unix release. In case you are wondering: Beta 20 r1 was skipped because the Windows beta 20 lasted only for a few days before being superceded by beta 21, which fixes 2 bugs in it. Scroll down to the download section to get TIGCC 0.94 Beta 21 r1.

   What's new:
  • Updated some outdated Obj2Ti and tprbuilder documentation files.
  • Updated TIGCCLIB (libs, documentation and includes) and examples to TIGCC 0.94 beta 21.
  • Updated Binutils to 2.13.1 as in the Win32 betas 20 and 21.
  • Fixed compiling problems on IRIX and OS X. (Hopefully; I cannot test on those platforms. My only test machine is my own computer, which is an x86 PC with a Windows/Linux dual boot.)
  • tt/makelinux.sh now honors $CC and $CFLAGS settings. This should solve the problems some users had compiling the TIGCC Tools Suite on OS X. (Apple's gcc is called cc by default for some reason.)
  • Fixed tigcc frontend bug which caused PPG launchers to sometimes be created with a double extension (.c.89z or .c.9xz).
  • Updated tigcc frontend to reflect Win32 beta 20/21 changes:
    • Support for the $TIGCC/include/s GNU assembly include directory added. (That directory currently contains only a GNU as version of os.h.)
    • Now escaping arguments passed to GCC in order to allow -D switches with definitions containing spaces or other shell metacharacters.
  • Added README.osX with Darwin / OS X platform-specific building instructions. (Note that those instructions are more recent than the instructions in the newsitem dated 2002-08-31 below.)

TIGCC v0.94 Beta 19 r1 2002-09-17
   The long-awaited TIGCC v0.94 Beta 19 has been released by Sebastian Reichelt. I have updated the Linux/Unix port accordingly. Scroll down to the download section to get TIGCC 0.94 Beta 19 r1.

   What's new:
  • Fixed issues in the install scripts on IRIX (a command line was exceeding the maximum length) and OS X (-v switch not recognized by Apple's cp, mv and rm - removed the -v switch).
  • Updated TIGCCLIB (libs, documentation and includes) and examples to TIGCC 0.94 beta 19.
  • Added tool to autogenerate os.h and doorsos.h (A68k include files) from TIGCCLIB documentation sources to the documentation sources (hsf2rc.tar.bz2, written by Loïc Yhuel and released under the GPL).
  • Updated GCC and Binutils (and the corresponding TIGCC patches) to GCC 3.2 and Binutils 2.13 (TIGCC 0.94 beta 19).
  • Updated patcher to match TIGCC 0.94 beta 19 behavior (changed -freg-relative handling)
  • Updated tigcc frontend to match TIGCC 0.94 beta 19 behavior (added the missing -keep switch and the new -save-temps switch, fixed passing of -include and -x to GCC and of -8 and -9 to Obj2Ti, added the synonyms of the form "--switch" supported by the Windows version)
  • Added check to Install_All and Install_All_nopatch to make sure $TIGCC is defined when starting the installation. (WARNING: Do NOT set $TIGCC to / or /usr! Doing so WILL delete system files during installation. This is currently NOT detected by the installation script - it only checks whether it is set to something non-empty.)

Successful build on MacOS X 2002-08-31
   James Longstreet (generationxyu) has managed (with my help) to compile TIGCC for Linux/Unix on MacOS X.
   Follow the following instructions if you want to build TIGCC on MacOS X:
  • Use the full GCC and Binutils sources from a GNU mirror. Our local copy only supports the platforms for which we are distributing binaries (for space reasons, and because that's enough to comply with the GPL). I might add the necessary host headers for OS X to our local copy at a later time though.
  • Use the tar utility to unpack the GCC and Binutils tarballs (follow the build instructions in README.linux). Stuffit Expander apparently does some strange things when untarring (such as not extracting GCC to a gcc-3.1 subdirectory as it should).
  • Remove the -v (verbose) switches for cp, mv and rm from the installation scripts. (They are in the Install_step_3 and Install_step_4 scripts.) I will do this in the next release.
  • James used sh as the shell to build TIGCC rather than tcsh. I don't know for sure whether using tcsh will work.
  • Follow the warning below! (i.e.: Do not forget to set the TIGCC environment variable.)
  • Increase the stack limit: limit stack 800
  • Set CC to 'cc -no-cpp-precomp'.
  • Add the -DHAVE_DESIGNATED_INITIALIZERS=0 flag to CC or CFLAGS (needed when building GCC).
  • In sources/obj2ti/src/obj2ti.h: replace:
    #include <malloc.h>
    with:
    #include <sys/types.h>
    #include <sys/malloc.h>
  • Only when done with all this, run the install script (Install_all).
   Sorry for that long list of instructions. I hope that building on OS X will get easier in future releases.

UPDATE (2002-11-16): These instructions are now slightly outdated. Please refer to README.osX in the current source distribution for up-to-date instructions.

WARNING 2002-07-23
   If you are compiling and installing TIGCC from the source code, before running the installation script, make sure that the TIGCC environment variable is set and that it points to a directory which is either completely empty or contains a previous version of TIGCC which you want to overwrite. Otherwise, you might inadvertently delete some system files or other data!
   I am planning to add a check to the next release, which will ensure that the TIGCC environment variable is set and does not point to /or /usr.

Another Bugfix Release 2002-07-22
   I have fixed a few bugs reported by John David Ratliff:
  • A bug in the new patcher which made it include the patches intended for the main .s file only into all .s files.
  • Various problems when compiling on platforms other than Linux.
  • Some portability issues in Obj2Ti (non-Linux Unices, misaligned reads on big endian CPUs, did not compile with g++ 3.x).
   Scroll down to the download section to get the new release (TIGCC 0.94 beta 18 r5 for Linux and Unix), which fixes the bugs listed above.

Support for platforms other than Linux/x86 2002-07-14
   I have rewritten the patcher in portable C (instead of Kylix Pascal). This means the following:
  • It is now much smaller (12.9 KB instead of 152.3 KB).
  • It is no longer limited to Linux on an x86 CPU.
The new C version is functionally equivalent to the old Kylix version.

   What this new patcher means for TIGCC is that TIGCC will now work on all platforms running Linux, and is likely to work on various other Unices at well. Please note that I can only test TIGCC for Linux and Unix on Linux/x86, so please report success or failure on any other platform to Kevin@tigcc.ticalc.org. Note that the -g switch of the TIGCC front-end, which includes debugging information in the .s file, is not supported on platforms other than Linux/x86 though. (It doesn't work very well on Linux/x86 either, by the way.) Attempting to run tigcc -g on a platform which cannot run Linux/x86 binaries will get you an error about a non-executable binary. The workaround is not to use the -g switch.

   Scroll down to the download section to get the new release (TIGCC 0.94 beta 18 r4 for Linux and Unix).

Nostub DLL and Quill Support 2002-07-07
   I have released TIGCC 0.94 beta 18 r3 for Linux, which adds support for _nostub DLLs and for Zeljko Juric's Quill Adventure Writer.
   As usual, scroll down to the download section to get it.

Bugfix Update 2002-07-06
   I have updated TIGCC for Linux to fix a few problems when compiling and installing from source (especially our stripped-down one). The new release is TIGCC 0.94 beta 18 r2 for Linux.
   Scroll down to the download section to get it.

TIGCC 0.94 Beta 18 r1 for Linux released 2002-06-29
   The first release of TIGCC 0.94 beta 18 for Linux is now available. What's new (with respect to the previous release, TIGCC 0.93 for Linux):
  • Updated GCC to 3.1-tigcc-2 (TIGCC 0.94 beta 18).
  • Updated Binutils to 2.12.1 with AmigaOS support patched in (TIGCC 0.94 beta 18).
  • Updated Obj2TI to 1.01d (TIGCC 0.94 beta 18).
  • Updated TIGCCLIB to 2.5 (TIGCC 0.94 beta 18).
  • Implemented linking programs with static libraries in tprbuilder.
  • Implemented the -ar switch in the command-line frontend, and static library creation in tprbuilder.
  • Updated the .s file patcher to the features of its equivalent in TIGCC 0.94 beta 18 for Win32.
  • Updated the TIGCC Tools Suite to 1.31.
  • Updated the documentation to 0.94 beta 18.
  • Updated the examples to TIGCC 0.94 beta 18.
  • Fixed a few bugs.
   Scroll down to the download section to get it.

Beta 18 release imminent 2002-06-28
   I am now done with the todo list for the Linux release of TIGCC 0.94 beta 18 r1. (There might be a beta 18 r2 if I implement some of the features still missing from the Linux port or fix some platform-specific bugs before the Win32 version gets updated.) All which needs to be done before I can do the release is to update the release notes and the installation instructions.

Development Restarting 2002-06-21
   I received the CD with Romain's internal sources on Tuesday. I am currently taking a look on what still needs to be done, and I will try to release a new beta as soon as possible. But I have my last week of the semester at the university next week, and that means I have quite a few exams and not much time for TIGCC.

New Maintainer: Kevin Kofler 2002-06-13
   I have just taken over TIGCC for Linux from Romain Liévin. There will probably be new releases with new features (but not more than in the Win32 version, don't worry, Windows users) in a few weeks. But I will have to reinstall Linux before I can start working on it because my current Linux installation got broken during a hard disk change, so please be patient.
   -- Kevin Kofler

UPDATE (2002-06-14): I have successfully installed RedHat Linux 7.3 on my computer. Therefore, as soon as the CD with Romain's latest internal sources arrives, I will be able to work on this project.

Features

Downloads

Linux/x86 Binaries:

Packages for other platforms:

The TIGCC Team does not provide any binaries or packages for other *nix platforms, however there are some third parties who do. (Alternatively, you can also compile TIGCC from source.) The links below are for informational purposes only, they do not indicate any official endorsement by me or the TIGCC Team. Please do not complain to me or the TIGCC Team if those packages are out of date (sadly, most are) or won't install. Instead, complain (in a civil tone!) to the port maintainer. Here are the third-party packages I know of:

If you maintain or know of any other (reasonably up-to-date) third-party packages you want to have listed here, please e-mail me.

Source code:

TIGCC Tools Suite / TI-68k Developer Utilities (by the TICT):

Note that the above packages do not include (except for ExePack compression support) the "TIGCC Tools Suite" included in previous releases of TIGCC/*nix (up to 0.96 Beta 6 r1). The TI-68k Developer Utilities (formerly known as TIGCC Tools Suite) 1.40 have been released by Lionel Debroux on December 31, 2009. Download link (from the TICT site): tt140.tar.bz2 (includes source code and binaries). The PC-based tools are now released under the GNU LGPL (version 2.1 or later). For Fedora RPMs, see the CalcForge RPM Repository for Fedora (ti68k-developer-utilities package).

KTIGCC (TIGCC IDE for *nix/X11):

Fedora RPMs can be found at the CalcForge RPM repository (ktigcc package).

Stable (frozen) release:

TIGCC 0.95 r3 is available from ticalc.org (Unix folder). Note that no further updates are planned for the stable branch, 0.96 is where all the development happens.

GNU Tools Used in TIGCC

TIGCC is based on the GNU Compiler Collection. Therefore we have to upload the source code of the GNU tools we use to our website. The links below point to versions which we have reduced to a minimum number of components. They are meant to be secondary download links; it would be much better to download these sources directly from a GNU mirror. Downloading them from here increases the load on the ticalc.org server. These files are bzipped tarballs.

Note: These files can only be used to compile TIGCC, since we removed most hosts and targets. Moreover, they only support Linux/x86 and Windows, so for any other platform, you will probably need to get the complete GCC 4.1-20060728 (gcc-core only, not the full compiler collection; 3.3.3 for TIGCC 0.95 r3) and Binutils 2.16.1 (or 2.14 for TIGCC 0.95 r3) sources from a GNU mirror.