home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / ade-readme < prev    next >
Text File  |  1996-10-17  |  13KB  |  302 lines

  1.  
  2.      A M I G A    D E V E L O P E R S    E N V I R O N M E N T
  3.  
  4.            P R O J E C T    I N F O R M A T I O N
  5.  
  6.                  (Updated 28-Aug-96)
  7.  
  8. [Note: This is a preliminary draft which will change greatly as it is conver-
  9. ted to texinfo format (from which we can automatically generate AmigaGuide
  10. files, GNU info files, dvi files, and PostScript files.]
  11.  
  12. =============
  13. What Is This?
  14. =============
  15.  
  16. Because of the hard work from a number of members of the Amiga community, we
  17. now have a large body of development tools that have been ported to the
  18. Amiga and are available in both source and binary form.  We will refer to
  19. this software set as the "Amiga Developers Environment" or "ADE" for short.
  20.  
  21. The name reflects the fact that not only is this environment intended to
  22. meet the needs of Amiga Developers for tools, examples, documentation, and
  23. other useful material, but that it is also supported by the developer
  24. community itself and not any single entity, commercial or otherwise.  This
  25. ensures that it will always be available and supportable by this community.
  26.  
  27. One of the goals of the ADE is to have a completely self hosting
  28. environment.  I.E. that everything within it be compilable by the provided
  29. compilers.  It should be possible for the recipient of these utilities to
  30. make whatever changes or bug fixes they want in any piece of code, and then
  31. rebuild and use that fixed version (and hopefully send those changes back
  32. for integration into future releases).
  33.  
  34. Although the ADE started out as ports of tools covered by the GNU General
  35. Public License, the GNU Library General Public License, or some code covered
  36. by the "Berkeley License", it certainly isn't limited to those.  Any package
  37. which is available in source is eligible to be part of the ADE.
  38.  
  39. There are several mailing lists available for people that are interested
  40. in getting ongoing ADE information or participating in discussions about the
  41. ADE.  For information about what lists are available and how to subscribe,
  42. send email to "majordomo@ninemoons.com" with just "help" as the body of the
  43. message.
  44.  
  45. ============
  46. ORGANIZATION
  47. ============
  48.  
  49. The ADE is can be divided into several distinct files trees, as follows:
  50.  
  51. ADE-bin        Binary tree where executables, runtime libraries,
  52.         user documentation, etc live in "ready-to-run"
  53.         form.  Uses "ADE:" as an alias (Amiga assign).
  54.         The files in this area are built from source in
  55.         ADE-src or copied from files in ADE-src.
  56.  
  57. ADE-src        Source tree which contains all the sources for
  58.         components of the ADE.  Given the ADE-src tree, and
  59.         a copy of the ADE-bin tree, it should be possible
  60.         to completely recreate the ADE-bin and ADE-dist
  61.         trees.
  62.  
  63. ADE-dist    Tree which contains material from ADE-bin and
  64.         ADE-src, archived in a form suitable for BBS or ftp
  65.         access.  Also contains baseline source archives
  66.         for packages which have been modified and diff
  67.         files for the Amiga sources relative to this
  68.         baseline.
  69.  
  70. The ADE-dist tree normally contains several files for each program.
  71. As an example, here are the names of the files for the GNU C compiler.
  72. Each file also has an associated product info file which has the same
  73. name but an additional suffix of ".pi":
  74.  
  75. gcc-X.X.X-base.tgz    Baseline source before incorporation into the ADE.
  76.             In some cases base files have been reorganized to
  77.             match the same file tree structure as used for the
  78.             Amiga source in the ADE, so that diff files can be
  79.             mechanically generated.
  80.  
  81. gcc-X.X.X-bin.lha    The binary package for GNU C, C++, and Objective C.
  82.  
  83. gcc-X.X.X-src.tgz    The Amiga source from which the supplied binaries
  84.             were compiled.
  85.  
  86. gcc-X.X.X-diffs.gz    The diffs from the baseline to the Amiga source.
  87.             The baseline source, amiga source, and diff file
  88.             form a complete source distribution.  In theory,
  89.             only any two of these are needed, since the third
  90.             can be regenerated from either of the other two.
  91.  
  92. Note that ".tgz" is short for ".tar.gz", which is a gzip compressed tar
  93. archive.  To extract the contents, you would do something like:
  94.  
  95.     tar -xvpzf gcc-X.X.X-base.tgz
  96.  
  97. If this causes you any problems, you can use pipes to do the decompression
  98. and tar extraction as two separate processes, without creating a temporary
  99. file:
  100.  
  101.     zcat gcc-X.X.X-base.tgz | tar -xvpf -
  102.  
  103. Without using pipes, you can create a temporary file to extract from,
  104. as follows:
  105.  
  106.     zcat gcc-X.X.X-base.tgz >gcc-X.X.X-base.tar
  107.     tar -xvpf gcc-X.X.X.tar
  108.  
  109. ============
  110. INSTALLATION
  111. ============
  112.  
  113. Currently the only supported method of installing components of the ADE is
  114. to create a directory which will be the root of the ADE binary tree, assign
  115. ADE: to this directory, cd to ADE:, and use lha to extract the contents of
  116. the packages you wish to install (everything is archived relative to ADE:).
  117.  
  118. For example, the following illustrates populating the ADE binary tree with
  119. the minimum set of packages that we would recommend for doing serious C or
  120. C++ development.  Replace -X.X- with the appropriate version numbers for
  121. the current release:
  122.  
  123.     makedir dh0:ADE
  124.     assign ADE: dh0:ADE
  125.     cd ADE:
  126.     lha -mraxe x ADE-misc-bin.lha
  127.     lha -mraxe x binutils-X.X-bin.lha
  128.     lha -mraxe x bison-X.X-bin.lha
  129.     lha -mraxe x diffutils-X.X-bin.lha
  130.     lha -mraxe x fd2inline-X.X-bin.lha
  131.     lha -mraxe x fifolib-X.X-bin.lha
  132.     lha -mraxe x fileutils-X.X-bin.lha
  133.     lha -mraxe x findutils-X.X-bin.lha
  134.     lha -mraxe x flex-X.X-bin.lha
  135.     lha -mraxe x gcc-X.X-bin.lha
  136.     lha -mraxe x grep-X.X-bin.lha
  137.     lha -mraxe x gzip-X.X-bin.lha
  138.     lha -mraxe x ixemul-X.X-bin.lha
  139.     lha -mraxe x ixemul-X.X-env-bin.lha
  140.     lha -mraxe x ixemul-X.X-inc-bin.lha
  141.     lha -mraxe x libamiga-bin.lha
  142.     lha -mraxe x libg++-X.X-bin.lha
  143.     lha -mraxe x libm-X.X-bin.lha
  144.     lha -mraxe x libnix-X.X-bin.lha
  145.     lha -mraxe x make-X.X-bin.lha
  146.     lha -mraxe x patch-X.X-bin.lha
  147.     lha -mraxe x pdksh-X.X-bin.lha
  148.     lha -mraxe x sed-X.X-bin.lha
  149.     lha -mraxe x sh-utils-X.X-bin.lha
  150.     lha -mraxe x tar-X.X-bin.lha
  151.     lha -mraxe x termcap-X.X-bin.lha
  152.     lha -mraxe x textutils-X.X-bin.lha
  153.  
  154. The following should be optional, unless you want to remake a "configure"
  155. file, want EMACS, or currently need a curses library.
  156.  
  157.     lha -mraxe x autoconf-X.X-bin.lha
  158.     lha -mraxe x emacs-X.X-bin.lha
  159.     lha -mraxe x ncurses-X.X-bin.lha
  160.  
  161. You may want to examine the ixemul.library flavors in ADE:Sys/Libs and
  162. select one more appropriate for your specific machine.  For example,
  163. A4000 users might want to remove the default ixemul.library (68000)
  164. and copy ixemul040fpu.library to ixemul.library.
  165.  
  166. If you want to just do libnix development and not ixemul development, note
  167. that you still need the include files from ixemul-X.X-inc-bin.lha.
  168.  
  169. You should also ensure that you have an environment variable called
  170. HOME, which should point to a local directory that can be used to
  171. contain "reconfiguration scripts" that many tools look for.  As an
  172. example, the following is a useful definition for $HOME/.inputrc:
  173.  
  174.   # My ~/.inputrc file is in -*- text -*- for easy editing with Emacs.
  175.   #
  176.   # Notice the various bindings which are conditionalized depending
  177.   # on which program is running, or what terminal is active.
  178.   #
  179.  
  180.   # In all programs, all terminals, make sure this is bound.
  181.   "\C-x\C-r": re-read-init-file
  182.  
  183.   # Amiga console specials
  184.   "": delete-char
  185.  
  186.   "›A": previous-history
  187.   "›B": next-history
  188.   "›C": forward-char
  189.   "›D": backward-char
  190.  
  191. There are some files that we cannot yet distribute with the ADE for legal
  192. reasons, such as the AT/VISCorp AmigaOS include files (required for AmigaOS
  193. specific programming), or the AT/VISCorp AmigaOS fd files (used by fd2inline
  194. to generate the inline files).  Sometimes these files contain errors or other
  195. problems that need to be fixed before they can be used with the ADE.  These
  196. patches are contained in the "non-ADE-patches-src.tgz" file.  You should get
  197. this file and extract it in a temporary location with:
  198.  
  199.     gzip -d non-ADE-patches-src.tgz
  200.     tar -xvf non-ADE-patches.tar
  201.  
  202. This will create a directory called non-ADE-patches, which will have
  203. individual patch files that can be applied with the "patch" program or by
  204. hand editing (not recommended) the affected files.  See each patch file for
  205. specific directions and an explanation of the patch.
  206.  
  207. Once you are done, arrange to assign ADE: in your startup, arrange to
  208. execute ADE:Sys/S/ADE-Startup at boot time, and reboot.
  209.  
  210. ===
  211. CVS
  212. ===
  213.  
  214. All of the source in the ADE is kept in a centralized repository and managed
  215. by CVS (Concurrent Versions System).  This allows many developers to work
  216. simultaneously on the source for a particular program without having to
  217. "freeze" the source and thus impede progress by other developers that want
  218. to work on the same sources.
  219.  
  220. Using remote CVS, a distributed team of cooperating developers can check out
  221. a copy of the source from the repository machine located anywhere on the
  222. internet, make local changes to that source, test those changes, then check
  223. those changes back into the repository.  All other developers that have a
  224. copy of that source checked out will have those changes inserted into their
  225. copy automatically the next time they do a CVS "update", and in the rare
  226. case where their changes conflict with the latest repository changes, they
  227. will be notified of the conflict and thus be able to resolve it before
  228. checking in their own changes.
  229.  
  230. CVS will also arrange to log changes to particular modules (groups of files
  231. which may be one or more programs) in the repository and send notifications
  232. via email to interested developers that want to know about changes to the
  233. modules they are working on.  For example, if one of the developers working
  234. on gcc makes a change, all of the other developers which have signed up to
  235. receive notices of gcc changes will receive a notice via email that
  236. typically consists of a copy of the ChangeLog entries for the files that are
  237. affected by the change.
  238.  
  239. This system also allows "lurking developers", I.E. those that want access to
  240. the latest source simply to build new binaries.  Even though they are not
  241. making any changes themselves, they can maintain a complete and up-to-date
  242. source base with a minimal amount of effort, by simply doing a CVS update
  243. every few days.  These people are not parasites; they provide a very useful
  244. function by working with the latest source base on a wide variety of
  245. machines with a wide variety of configurations, and can quickly provide
  246. feedback when ill advised changes to the source base cause trouble that the
  247. developers did not catch during their own testing.
  248.  
  249. To find out more about CVS, obtain a current copy of the source or binary
  250. distribution which contains the documentation in postscript form, and then
  251. print and read the documents "CVS II: Parallelizing Software Development",
  252. "Version Management with CVS", and "CVS Client/Server".
  253.  
  254. ===============
  255. ChangeLog Files
  256. ===============
  257.  
  258. All changes made to the source base in the repository must be accompanied by
  259. appropriate entries to a ChangeLog file.  A ChangeLog files documents what
  260. changes were made to particular files and who made them.  A sample (from the
  261. gdb ChangeLog file) is:
  262.  
  263.     Wed Aug  9 18:59:05 1995  Fred Fish  <fnf@cygnus.com>
  264.  
  265.     * defs.h (strchr, strrchr, strstr, strtok, strerror): Enclose in
  266.     #ifndefs to protect against previous definitions as macros.
  267.  
  268.     Wed Aug  9 14:51:36 1995  Kung Hsu  <kung@mexican.cygnus.com>
  269.  
  270.     * xcoffread.c (xcoff_symfile_offset): Revert an unwanted change
  271.     that got in accidentally with Aug 1 change.
  272.  
  273.     Sat Aug  5 09:07:28 1995  steve chamberlain  <sac@slash.cygnus.com>
  274.  
  275.      * remote-hms.c (hms_cmds): Get reg term right.
  276.     * monitor.c (monitor_fetch_register):  If we see
  277.     a non-hex digit, just stop reading.  
  278.      * remote.c (remote_wait): Change way $O is handled.
  279.  
  280. Most programs come with ChangeLog files, but those that don't will have one
  281. created at the time they are imported into the repository.  ChangeLog
  282. entries can be easily created by using the EMACS command "C-x 4 A".
  283.  
  284. ============
  285. Mirror Sites
  286. ============
  287.  
  288. We are actively looking for mirrors for this material.  If you have trouble
  289. accessing the main ADE site (ftp.ninemoons.com:pub/ade) from your location
  290. because of network delays, and regularly use a closer site for other ftp
  291. needs, you may want to ask that site to mirror the ADE tree.
  292.  
  293. The ADE ftp tree can be found at the following locations:
  294.  
  295. Site Name        IP Address    Directory    Comments
  296. ---------        ----------    ---------    --------
  297. ftp.ninemoons.com    165.247.33.6    pub/ade        (master site)
  298. ftp.grolier.fr        194.158.97.67    pub/amiga/ade    (full mirror)
  299. bilbo.di.unipi.it    131.114.4.62    pub/ade        (latest + updates)
  300. plukwa.lodz.pdi.net    194.92.208.7    amiga/dev/ADE    (full mirror)
  301. ftp.uni-erlangen.de     131.188.3.2     pub/amiga/ade   (partial mirror)
  302.