debrouxl 829ae8904e Build system: ship patcher.exe on Windows as well. 14 years ago
..
debian d0f0076c99 * Create "latest" symlinks to the pool's A68k, binutils and gcc (symlinks handling is a feature of SVN). 15 years ago
scripts 829ae8904e Build system: ship patcher.exe on Windows as well. 14 years ago
sources 719afbf8cd Update changelogs, history files, READMEs. 15 years ago
AUTHORS 96fb387a2c This commit was generated by cvs2svn to compensate for changes in r326, 18 years ago
BUGS 96fb387a2c This commit was generated by cvs2svn to compensate for changes in r326, 18 years ago
CHANGELOG b235ffe6fc Make installed symlinks relative so the installation relocates correctly. 17 years ago
COPYING 96fb387a2c This commit was generated by cvs2svn to compensate for changes in r326, 18 years ago
DIRECTORIES 039b7c950a * Split the TIGCC Tools Suite (except ExePack support) into a separate package (will be uploaded to ticalc.org). 18 years ago
HOWTO 96fb387a2c This commit was generated by cvs2svn to compensate for changes in r326, 18 years ago
INSTALL 719afbf8cd Update changelogs, history files, READMEs. 15 years ago
README 719afbf8cd Update changelogs, history files, READMEs. 15 years ago
README.linux c7edfed5b9 Build system: steps towards better build process automation and tests. 15 years ago
README.osX d0f0076c99 * Create "latest" symlinks to the pool's A68k, binutils and gcc (symlinks handling is a feature of SVN). 15 years ago

README


GCC4TI Cross Compiler for the TI-89 and TI-92 Plus v0.96 Beta 10
================================================================

Xavier Vassor Xavier@tigcc.ticalc.org (original linker and tigcc)
Zeljko Juric Zeljko@tigcc.ticalc.org (library and documentation)
Kevin Kofler Kevin@tigcc.ticalc.org (linker, fixes for A68k, GCC,
GAS, library, ...)
Sebastian Reichelt Sebastian@tigcc.ticalc.org (linker, IDE, GCC fixes)
Niklas Brunlid Niklas@tigcc.ticalc.org (bugfixes and additions)
Jean Canazzi Jean@tigcc.ticalc.org (first modification of GCC)
Philipp Winkler p.winkler@atn.nu (library help file conversion)

Lionel Debroux lionel_debroux@yahoo.fr
Patrick Pelissier patrick.pelissier@gmail.com
Manoel Trapier godzil@godzil.net

Email us at: tigccpp@box.godzil.net


+-------------------------------+
| README CONTENTS |
|===============================|
| 1. Disclaimer |
| 2. About GCC4TI |
| 3. Installation |
| 4. The Library |
| 5. The Command Line Compiler |
| 6. The IDE |
| 7. Examples |
| 8. Bug Reports |
| 9. History |
+-------------------------------+

1. Disclaimer
-------------

Original files Copyright (C) 1999-2005 Xavier Vassor, Niklas Brunlid,
and Jean Canazzi
ld-tigcc Copyright (C) 2002-2009 Sebastian Reichelt and Kevin Kofler
Library & Documentation Copyright (C) 2000-2009 Zeljko Juric and contributors
IDE Copyright (C) 2000-2009 Sebastian Reichelt and contributors
TIGCC Tools Suite Copyright (C) 2000-2009 Thomas Nussbaumer
(http://tict.ticalc.org/)

Included programs with different licenses:
A68k Copyright (C) 1987-2009 Charlie Gibbs, David Ellsworth, Kevin Kofler,
Julien Muchembled, and Paul Froissart

Setup executable created using NSIS (http://nsis.sourceforge.net) and
compressed using LZMA (http://www.7-zip.org/sdk.html) for the data and UPX
(http://upx.sourceforge.net/) for the stub.

This program 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 2 of the License, or (at your option) any later
version.

This program 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, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Some components (TIGCCLIB, ttpack, pstarter) have additional permissions
beyond the GPL.

A different license applies to A68k.


2. About GCC4TI
--------------

GCC4TI is a fork ( http://en.wikipedia.org/wiki/Fork_(software_development) )
of TIGCC, with different goals and different planning.

Please check out http://trac.godzil.net/gcc4ti/ , the official GCC4TI site,
for more information on the todo/wish list.

3. Installation
---------------

In the ZIP file containing GCC4TI, you will find a program called
'setup-gcc4ti.exe'. Run this program and follow the instructions of the setup
program. It will add a few new items to your start menu, so you should not
use a program group that already exists.

If you want to uninstall GCC4TI, you can do this at any time from either the
start menu or the control panel. Please be aware that this will remove the
whole folder in which the program was installed, not only the files which
were installed by the setup program.

If you experience any problems installing GCC4TI, or running it after it has
been installed, please use the GCC4TI mailing list, tigccpp@box.godzil.net .

4. The Library
--------------

The library included in this release of GCC4TI is a collection of over 750
functions. With this library, it is possible to create kernel-free (so-called
"nostub") programs as well as programs that make use of kernel features. A
very detailed documentation in HTML Help format is included, in which more
than 600 TIOS entries are described in detail. This documentation may be very
valuable for assembly programmers too. To read the documentation, open
'tigcc.chm', located in the 'Doc' folder, or click on the appropriate item in
the start menu.

5. The Command Line Compiler
----------------------------

The following paragraphs apply only to the command line compiler. If you want
to use the IDE instead, you do not need to worry about these topics.

The command line compiler (tigcc.exe) works almost the same way that the
standard gcc.exe does. Aside from accepting .asm files as parameters and
calling the a68k assembler to compile them, it also supports a few
non-standard options:

-pack
Compress the file generated during compilation. 'varname' is the name of
the on-calc packed variable. Although 'varname' cannot have an extension,
the variable on the calculator will always have the extension 'ppg'.
'varname' cannot be the same as the on-calc name of the program itself.
When you use this switch, two variables will be created; one with the
extension '.89y' or '.9xy', and one '.89z' or '.9xz' variable.
This option comes from Thomas Nussbaumer's (thomas.nussbaumer@gmx.net)
excellent TIGCC Tools Suite, where this feature is called "ExePack
Technology." You can read about it on the official TI-Chess Team site
(tict.ticalc.org).

-q
Keep as quiet as possible while assembling and linking. This option is not
needed by the compiler because it is always quiet, but the linker and
especially the assembler output some information.

-v0
This switch is an addition to the '-v' switch. It tells tigcc.exe to output
only the commands that are run directly. This was the default in some
previous releases.

-g
The '-g' switch in GCC turns on debugging information in the preferred
format for the target. In GCC4TI, this is DWARF 2, which can be used with a
GDB-enabled TiEmu.

-standalone
Do not link against tigcc.a. All of GCC's internal functions are
implemented in this library, as well as all non-TIOS functions. Using one
of these will result in an error from the linker.

-ar
Create an archive (a static library) instead of a program. The resulting
file will have a '.a' ending.

-bsr
This option is ignored for compatibility.

For more info about standard options that are recognized by the compiler,
have a look at the GCC4TI Documentation, or visit
http://gcc.gnu.org/onlinedocs/gcc_3.html.

In addition, you can use '-WA,...' instead of '-Wa,...' to pass options to
the A68k assembler.

We suggest that you use the '-O2' or '-Os' switch in all your compilations;
it increases speed and decreases the program size at the cost of compilation
time.

There is an important difference to the standard gcc.exe: tigcc.exe always
overwrites assembly or object files. For example, if a file 'test.c' is
compiled, the files 'test.s' and 'test.o' will be created and overwritten if
necessary, but they will automatically be deleted again if neither '-c' or
'-S' nor '-g' are specified.

6. The IDE
----------

Documentation of the IDE is included in the manual and will be installed by
the setup program. You can access it from the start menu or from the IDE
itself.

7. Examples
-----------

There are some examples made by Zeljko Juric in the folder "Examples". You
can compile and modify them to learn how to use GCC4TI. Most of them can also
be found at some place in the documentation, with explanations and in some
sort of context.

8. Bug Reports
--------------

There may still be some bugs in the linker, in tigcc.exe, and in the IDE. If
you encounter a bug, please use the GCC4TI mailing list, tigccpp@box.godzil.net

9. History
-----------

See http://tigcc.ticalc.org/doc/info.html#history for the TIGCC history.