README.linux 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. LINUX/UNIX/OS X PLATFORM SPECIFIC NOTES FOR GCC4TI:
  2. ==================================================
  3. Note
  4. ----
  5. The current release SHOULD work on all Linux/Unix platforms, including
  6. MacOS X.
  7. Official binaries are provided ONLY for Linux/x86, so you will need to
  8. compile GCC4TI from source on other platforms, unless an unofficial
  9. binary is made available for your platform.
  10. Copyright of the port:
  11. ----------------------
  12. The following copyright applies to the compilation and to the platform-
  13. specific tools:
  14. TIGCC for Linux/Unix - GCC port targeting the TI89/89Ti/92+/V200
  15. Copyright (C) 2000 Henri Moilanen
  16. Copyright (C) 2001-2009 Romain Liévin
  17. Copyright (C) 2002-2009 Kevin Kofler
  18. Some parts from John David Ratliff (TechnoPlaza tutorials)
  19. GCC4TI for Linux/Unix - GCC port targeting the TI89/89T/92+/V200
  20. Copyright (C) 2008-2009 Lionel Debroux
  21. History
  22. -------
  23. Henri Moilanen:
  24. I like Linux. TIGCC wasn't available as a Linux version, so I had to
  25. create it. It hadn't source included, so I couldn't do any changes,
  26. and I had to start from scratch. Couple of days of hacking and
  27. searching the net, TIGCC For Linux was born. But as I worked alone - I
  28. had no hurry. It waited in the depths of my HD for a month until one
  29. person, Leonard Stiles, posted a question whether there is a ti-gcc
  30. for linux available.
  31. That was the push to get the job done. Like it or don't.
  32. Romain Liévin:
  33. I was developing TiLP (formerly GtkTiLink) when Henri was beginning
  34. to develop its TiGCC.
  35. Henri and some other people asked me whether I could develop a TI
  36. emulator for Linux. I have done it.
  37. Now, Henri asked me to take over the development of TiGCC/Linux.
  38. As you can see, I have accepted and I am now the official maintainer.
  39. John David Ratliff:
  40. Ported & tested on various UNIXes.
  41. Kevin Kofler:
  42. Since Romain no longer had the time to work on TIGCC for Linux, and
  43. since I always wanted it to be handled by someone of the TIGCC team, I
  44. decided to take over the project. I am planning to work on getting it
  45. to run again on platform/*nix combinations other than x86/Linux (now
  46. achieved), and to implement all features known from the Win32 version.
  47. See http://tigcc.ticalc.org/linux/ for the current status of the project.
  48. Lionel Debroux, Patrick Pelissier, Manoel Trapier:
  49. This is the *nix version of GCC4TI.
  50. Tested on various modern *nixes:
  51. * SimplyMEPIS 8 (~Debian Lenny);
  52. * Ubuntu 9.04;
  53. * OpenSolaris 2009.06;
  54. * FreeBSD 7.2;
  55. * MacOS X 10.5.
  56. Installation
  57. ------------
  58. Installing from binaries with the setup wizard:
  59. -----------------------------------------------
  60. * Download gcc4ti_bin.tar.bz2 and Install.sh into the same directory.
  61. * Make sure Install.sh is executable:
  62. chmod 755 Install.sh
  63. * Run Install.sh:
  64. ./Install.sh
  65. and follow the instructions. If you want a text-mode install on a
  66. system with KDE installed, you can use:
  67. DIALOG=dialog ./Install.sh
  68. to tell the script to use the text-mode (curses) dialog instead of
  69. kdialog.
  70. You will be prompted for the destination directory you want to install
  71. GCC4TI to ($TIGCC). Then the wizard will extract the files there.
  72. When done, the wizard will ask you whether you want to add your $TIGCC
  73. setting to bashrc. If you answer "Yes", you are done here, you only
  74. need to restart bash. If you prefer to do things by hand, answer "No"
  75. and follow the instructions below. (If you selected "No", but changed
  76. your mind, you can also run envreg by hand afterwards.)
  77. Installing from binaries without the setup wizard:
  78. --------------------------------------------------
  79. First, copy your full GCC4TI binary package to '/'. You can use a
  80. directory of your chosing but you will have to move the uncompressed
  81. files.
  82. Then, install it by:
  83. bunzip2 gcc4ti_bin.tar.bz2
  84. tar xvf gcc4ti_bin.tar
  85. Now, set the environment variable TIGCC to the directory you
  86. extracted into. You need to set this variable in your profile,
  87. because the tigcc front-end needs it to find the header files.
  88. If you use bash, add it to your .bashrc file in your home
  89. directory. You could also use your .profile or .login if
  90. you have those. If you use tcsh or csh, put it in your
  91. .cshrc file (or if you use .tcshrc, put it there).
  92. Korn shell and Z-Shell are untested. You're on your own if you do.
  93. For bash/sh users
  94. export TIGCC=/usr/local/share/gcc4ti
  95. export PATH=$PATH:$TIGCC/bin
  96. For csh/tcsh users
  97. setenv TIGCC /usr/local/share/gcc4ti
  98. set path=($path $TIGCC/bin)
  99. I've had problems using setenv to reset the path in tcsh.
  100. setenv path "$path ${TIGCC}/bin"
  101. doesn't seem to work.
  102. You may need to logout and log back in for that to take
  103. effect. Or you can resource your profile.
  104. source ~/.profile
  105. source ~/.bashrc
  106. source ~/.cshrc
  107. source ~/.tcshrc
  108. You only need to resource the file you changed.
  109. Compiling and installing from source:
  110. -------------------------------------
  111. See the INSTALL file for instructions for building from source (this
  112. includes cross-compilation).
  113. Note that I recommend to use the binary release when possible though.
  114. Available programs
  115. ------------------
  116. - a68k: AmigaOS assembler
  117. - as: GNU assembler
  118. - ar-tigcc: TIGCC archiver
  119. - gcc: GNU compiler
  120. - ld-tigcc: TIGCC linker
  121. - patcher: patches .s files generated by gcc (mainly for internal use)
  122. - tigcc: the front-end for using GCC4TI
  123. - tprbuilder: a program for building .tpr files (TIGCC PRoject).
  124. - tt*: TI-68k Developer Utilities (formerly TIGCC Tools Suite)
  125. Only tigcc, tprbuilder and tt* are intended to be called directly. All other
  126. tools are intended to be called through the tigcc frontend only.
  127. The TI-68k Developer Utilities are also available separately from tict.ticalc.org.
  128. In addition, there is a shell script called gcc4tidoc, which will open the HTML
  129. documentation in QT Assistant 3.x, a help viewer offering the same features
  130. Microsoft HTML Help offers under Windows: content hierarchy, alphabetic index
  131. and full-text search. The GPL version of QT Assistant can be obtained for
  132. free from http://www.trolltech.com . For binary packages, check with your
  133. Linux distributor or operating system vendor.
  134. For QT Assistant versions older than 3.2, you can manually add qt-assistant.dcf
  135. to your documentation sources. However, this has the disadvantage that the index
  136. and the full-text search will mix entries from the QT documentation with entries
  137. from the GCC4TI documentation, so it is recommended to use QT Assistant 3.2 and
  138. gcc4tidoc instead.
  139. Usage
  140. -----
  141. Simply call tigcc and pass your filenames and any desired flags (the
  142. flags listed here are the minimum recommended flags for all GCC4TI
  143. programs):
  144. 'tigcc -Os -ffunction-sections -fdata-sections --optimize-code
  145. --cut-ranges --reorder-sections --merge-constants --remove-unused
  146. -Wall -W -Wwrite-strings test.c'
  147. Once you have created your program, you can test it on an emulator
  148. (such as TiEmu) or directly on your calculator. For this, you have to
  149. transfer the program using a linking program (such as TiLP).
  150. Examples
  151. --------
  152. You will find in the examples directory some projects which come from
  153. the GCC4TI/Win32 SDK. You can build them by:
  154. 'tprbuilder myproject.tpr'
  155. If you have installed TiLP (http://lpg.ticalc.org/prj_tilp), you can
  156. load the program. Simply do a 'tilp -cmdline foo.89z' (console) or
  157. 'tilp foo.89z) (X11).
  158. Development platform used for the binary release
  159. ------------------------------------------------
  160. Machine: Pentium III running Fedora Core 4
  161. Compiler: gcc version 4.0.1-4.fc4 (Fedora Core 4) (rpm -q gcc)
  162. Kernel: Linux 2.6.13-1.1526_FC4 for i686 (Fedora Core 4) (uname -a)
  163. Libc: glibc 2.3.5-10.3 for i686 (Fedora Core 4) (rpm -q glibc)
  164. Thanks
  165. ------
  166. By Romain Liévin:
  167. Rudolf Polzer He was the first guy to test my (Romain) first release
  168. of TIGCC and has helped me to understand the patch
  169. mechanism.
  170. Kevin Kofler Some information about the tipatch mechanism.
  171. By Kevin Kofler:
  172. I would like to thank my collegues from the TIGCC team (Sebastian
  173. Reichelt, Zeljko Juric, ...) and the previous maintainers of TIGCC for
  174. Linux (Henri Moilanen, Romain Liévin) for the excellent work done,
  175. which allows me to release this package.