Readme.txt 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. TIGCC Cross Compiler for the TI-89 and TI-92 Plus v0.96 Beta 8
  2. ================================================================
  3. Xavier Vassor Xavier@tigcc.ticalc.org (original linker and tigcc)
  4. Zeljko Juric Zeljko@tigcc.ticalc.org (library and documentation)
  5. Kevin Kofler Kevin@tigcc.ticalc.org (linker, fixes for A68k, GCC,
  6. GAS, library, ...)
  7. Sebastian Reichelt Sebastian@tigcc.ticalc.org (linker, IDE, GCC fixes)
  8. Niklas Brunlid Niklas@tigcc.ticalc.org (bugfixes and additions)
  9. Jean Canazzi Jean@tigcc.ticalc.org (first modification of GCC)
  10. Philipp Winkler p.winkler@atn.nu (library help file conversion)
  11. Original files Copyright (C) 1999-2005 Xavier Vassor, Niklas Brunlid,
  12. and Jean Canazzi
  13. ld-tigcc Copyright (C) 2002-2006 Sebastian Reichelt and Kevin Kofler
  14. Library & Documentation Copyright (C) 2000-2006 Zeljko Juric and contributors
  15. IDE Copyright (C) 2000-2006 Sebastian Reichelt and contributors
  16. TIGCC Tools Suite Copyright (C) 2000-2004 Thomas Nussbaumer
  17. (http://tict.ticalc.org/)
  18. Included programs with different licenses:
  19. A68k Copyright (C) 1987-2005 Charlie Gibbs, David Ellsworth, Kevin Kofler,
  20. Julien Muchembled, and Paul Froissart
  21. This archive contains the sources for...
  22. - the GCC patches ('GCC' folder)
  23. - the A68k assembler ('A68k' folder)
  24. - the linker ('ld-tigcc' folder)
  25. - the command-line compiler ('TIGCC' folder)
  26. - the IDE ('IDE' folder)
  27. - the tprbuilder ('tprbuilder' folder)
  28. - the link library ('FolderLink' folder)
  29. - the setup program ('Setup' folder)
  30. - the ExePack compressor (from the TIGCC Tools Suite) ('ttpack' folder)
  31. - the standard library archive ('Archive' folder)
  32. - the ExePack launcher ('pstarter' folder)
  33. - the documentation ('Doc' folder)
  34. - various utilities
  35. Portability
  36. -----------
  37. This source code can be compiled without modifications only in Windows. For
  38. other environments (Unix/Linux, Mac OS X, etc.), you will have to download
  39. the TIGCC/*nix sources from http://tigcc.ticalc.org/linux/ and follow the
  40. instructions.
  41. GCC
  42. ===
  43. GCC has to be compiled under MinGW (www.mingw.org) if you want to use it
  44. in a Win32 environment (see instructions below). Cygwin is no longer supported
  45. by TIGCC. To make it use TI's calling convention, implement floating point
  46. support, etc., you have to patch a lot of files. The GNU assembler (from
  47. Binutils) also has to be patched and compiled with MinGW. Simply apply the
  48. appropriate .diff files in this archive using the GNU 'patch' utility ('patch'
  49. found on Unix systems may also work).
  50. A reduced version of the full GCC source code can be downloaded at:
  51. http://tigcc.ticalc.org/sources/gcc-4.0.2.tar.bz2
  52. Likewise, a reduced version of GNU binutils can be obtained from:
  53. http://tigcc.ticalc.org/sources/gas-2.16.1.tar.bz2
  54. However, if possible, it is better to get the official files from
  55. http://www.gnu.org/. There you can also get the very latest versions of these
  56. programs, but it is recommended to use the exact versions our patch was tested
  57. with, newer versions may or may not work and are definitely not supported.
  58. The as (binutils) patches add support for linker optimization (all-relocs
  59. mode, mergeable sections) and contain some minor bug fixes when dealing with
  60. MC68000 (instead of MC68020) code.
  61. The recommended approach (and the one we use) to compile TIGCC is to compile
  62. with MinGW (www.mingw.org), using the MSYS environment. Compiling with Cygwin
  63. (with or without the '-mno-cygwin' switch) has not been tested for ages.
  64. A typical environment variable setup would be this (typed in on the MSYS
  65. prompt):
  66. export CFLAGS='-Os -s -fno-exceptions'
  67. export C_INCLUDE_PATH=""
  68. (The latter is necessary if you have GTK+ development packages installed, so
  69. as not to let cc1.exe depend on iconv.dll.)
  70. A typical configuration and compilation would then look like this (on the
  71. Cygwin prompt):
  72. cd <destdir>
  73. <srcdir>/configure --target=m68k-coff --with-gnu-as --disable-nls --disable-multilib --disable-shared --enable-static --disable-threads --disable-win32-registry --disable-checking --disable-werror --disable-pch --disable-mudflap
  74. <create missing makefiles (see below)>
  75. make
  76. <repeat the last 2 steps until you get cc1.exe and xgcc.exe (see below)>
  77. Do the same for binutils, except that the configure line looks like this:
  78. <srcdir>/configure --host=mingw32 --target=m68k-coff --disable-shared --enable-static --disable-multilib --disable-nls --disable-win32-registry
  79. and the required executable is as-new.exe.
  80. In the size-reduced sources available from tigcc.ticalc.org, there are some
  81. missing directories. This causes the configure script to create empty
  82. makefiles in the destination directory. The 'make' utility rejects these
  83. files, however, so you need to replace these with 'Makefile-empty' from this
  84. archive. Unfortunately, unlike previous versions of GCC and Binutils which
  85. first configured everything, then allowed you to replace the makefiles, and
  86. then compiled everything, newer versions configure subdirectories only as
  87. they are built. Therefore, you often have to replace the makefiles when an
  88. error occurs and then relaunch 'make'. The TIGCC/*nix build scripts automate
  89. this.
  90. We hope these instructions were clear enough, although they do not really
  91. fall into the category of how to recompile TIGCC. In fact, the possibilities
  92. might be much greater in future releases of GCC. We will be glad to assist
  93. you in any way.
  94. LD-TIGCC/TPRBUILDER/A68K/TTPACK
  95. ===============================
  96. ld-tigcc, tprbuilder, A68k and ttpack can be compiled with MinGW32
  97. (www.mingw.org). ttpack can also be compiled using LCC-Win32.
  98. TIGCC/IDE
  99. =========
  100. IDE.exe and tigcc.exe, have to be compiled with Borland Delphi 6 or later. To
  101. do this, make sure all files in the 'Search Path Items' folder are available
  102. in your search path. Then install all custom components from the 'Components'
  103. folder.
  104. To compile tigcc.exe
  105. --------------------
  106. Make sure the above conditions are true. Then open TIGCC.dpr in Delphi and
  107. compile it.
  108. To compile IDE.exe
  109. ------------------
  110. Make sure the above conditions are true. Then open IDE.dpr in Delphi and
  111. compile it.
  112. DOC
  113. ===
  114. First, modify the file HelpSystem.ini in the 'Programs' subfolder of the
  115. 'Doc' folder to reflect your actual folder names. It exists so that the
  116. 'Programs' folder can reside at any given place on the hard disk.
  117. Then, you need to call all 'Update...' programs once.
  118. UpdateInclude.exe and UpdateInfo.exe take one or more complete file name(s)
  119. as parameters. The actual names of the files are discarded, and the remaining
  120. folder name is the folder to be updated. If the first parameter is '/ALL' or
  121. no parameters are specified, all folders are updated, and in case of
  122. UpdateInclude.exe, a header file index is generated.
  123. UpdateKeywords.exe and UpdateIndex.exe do not take any parameters.
  124. To compile the documentation, download the HTML Help Workshop from
  125. http://msdn.microsoft.com. Then compile the project in the 'System\CHMFiles'
  126. folder.
  127. Tools to make editing help system files more convenient are also included in
  128. this distribution.
  129. A tools to create help system files from the original GNU Texinfo documents
  130. is included as well, but it might need a recompilation to work with future
  131. versions of the documentation. Anyway, the .texi files should be in the
  132. current directory, and you should specify one of them in the command line.
  133. The appropriate subfolders need to exist (e.g. gnuexts).
  134. If you need detailed information about the file formats, look at the
  135. Readme.txt file in the documentation folder.
  136. ARCHIVE
  137. =======
  138. Use the TIGCC IDE to compile the archive, then copy tigcc.a into the Lib
  139. folder.
  140. Alternatively you can use the tprbuilder (which calls the command line
  141. compiler and its '-ar' switch).
  142. LAUNCHER (PSTARTER)
  143. ===================
  144. Use the TIGCC IDE to compile the project, making sure "Delete object
  145. files on successful linking" is unchecked, then copy pstarter.o into the
  146. Lib folder.
  147. SETUP
  148. =====
  149. The setup wizard and the distribution archives can be built by running
  150. makeall.bat in the 'setup' folder. The following external utilities (all
  151. Open Source and free of charge) are needed for that to work:
  152. * UPX: http://upx.sourceforge.net
  153. * NSIS: http://nsis.sourceforge.net
  154. * Info-ZIP: http://www.info-zip.org/pub/infozip/
  155. * ClamWin: http://www.clamwin.com
  156. You'll also have to adjust the paths in the batch files and in tigcc.nsi
  157. properly for them to work on your system.