Message-ID: <000d01bef27b$4a52eb80$4b91a6c3@shelob> From: "Ian Miller" To: Subject: readme.1st Date: Mon, 30 Aug 1999 01:04:54 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2014.211 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211 Reply-To: djgpp-workers AT delorie DOT com Hi, I just read through the 2.03 readme.1st and tweaked it a bit while I was at it. I made the FAQ references a bit more future proof by including the section titles, for example. A patch follows if you want it. Ian -- Ian Miller, Dorset, UK diff -c -r1.5 readme.1st *** readme.1st 1999/08/22 07:32:17 1.5 --- readme.1st 1999/08/29 23:52:15 *************** *** 99,106 **** See http://www.delorie.com/djgpp/zip-picker.html for a form-based guide to what to download. In general, download the binary ! distributions only; most of the people don't need the source ! distributions. To build C programs, you'll need djdev203.zip, gcc*b.zip, and bnu*b.zip. For C++, also get gpp*b.zip. --- 99,105 ---- See http://www.delorie.com/djgpp/zip-picker.html for a form-based guide to what to download. In general, download the binary ! distributions only; most people don't need the source distributions. To build C programs, you'll need djdev203.zip, gcc*b.zip, and bnu*b.zip. For C++, also get gpp*b.zip. *************** *** 109,116 **** have a DPMI server installed, you'll need csdpmi*b.zip. (Windows, QDPMI, 386Max, NWDOS, OpenDOS, OS/2, Win/NT and Linux DOSEmu all provide DPMI services, so you don't need CWSDPMI in those environments.) For more ! details, download faq*b.zip (the full FAQ list) and read Chapter 4 ! there. Installation --- 108,115 ---- have a DPMI server installed, you'll need csdpmi*b.zip. (Windows, QDPMI, 386Max, NWDOS, OpenDOS, OS/2, Win/NT and Linux DOSEmu all provide DPMI services, so you don't need CWSDPMI in those environments.) For more ! details, download faq*b.zip (the full FAQ list) and read Chapter 4, ! "Where and What to Download". Installation *************** *** 193,207 **** The actual numbers will vary according to amount of RAM installed on your system, the available disk space and the DPMI server. If the sum of the two numbers reported by go32-v2 is less than 4MB, ! read section 3.8 of the FAQ. (If you have more than that, but want ! to get the optimal performance from your system, read that section ! anyway.) Compilation ----------- ! GCC is a command-line compiler, which you invoke from DOS command line. To compile and link a single-file C program, use a command like this: --- 192,206 ---- The actual numbers will vary according to amount of RAM installed on your system, the available disk space and the DPMI server. If the sum of the two numbers reported by go32-v2 is less than 4MB, ! read section 3.9 of the FAQ, "How to configure your system for ! DJGPP". (If you have more than that, but want to get the optimal ! performance from your system, read that section anyway.) Compilation ----------- ! GCC is a command-line compiler which you invoke from the DOS command line. To compile and link a single-file C program, use a command like this: *************** *** 220,227 **** This produces the object file myfile.o. The `-Wall' switch turns on many useful warning messages which are especially beneficial for new ! users of GCC. (Other C++ extensions, like .cpp, are also supported, ! see section 8.4 of the FAQ for details.) To link several C object files into an executable program, use a command line such as this: --- 219,227 ---- This produces the object file myfile.o. The `-Wall' switch turns on many useful warning messages which are especially beneficial for new ! users of GCC. (Other C++ extensions, like .cpp, are also supported. ! See section 8.4 of the FAQ, "How does GCC recognize the source ! language?", for details.) To link several C object files into an executable program, use a command line such as this: *************** *** 234,241 **** gxx -o myprog.exe mymain.o mysub1.o mysub2.o ! This will automatically search the C++ libraries, so you won't need to ! mention them on the command line. You can also combine the compilation and link steps, like this: --- 234,241 ---- gxx -o myprog.exe mymain.o mysub1.o mysub2.o ! This will automatically search the C++ libraries, so you won't need ! to mention them yourself on the command line. You can also combine the compilation and link steps, like this: *************** *** 280,287 **** Debugging --------- ! To debug a program, you must first compile its source files with `-g' ! switch: gcc -c -Wall -g mymain.c gcc -c -Wall -g mysub1.c --- 280,287 ---- Debugging --------- ! To debug a program, you must first compile its source files with the ! `-g' switch: gcc -c -Wall -g mymain.c gcc -c -Wall -g mysub1.c *************** *** 294,301 **** (Note that beginning with v2.01 of DJGPP, it is no longer necessary to compile to a raw COFF output by omitting the `.exe' from the filename in order to debug programs. The debuggers distributed with v2.01 and ! later are capable of reading an executable as well as the raw COFF. ! If you don't understand this, don't worry about it.) Then run your program under the debugger: --- 294,301 ---- (Note that beginning with v2.01 of DJGPP, it is no longer necessary to compile to a raw COFF output by omitting the `.exe' from the filename in order to debug programs. The debuggers distributed with v2.01 and ! later are capable of reading an executable as well as the raw COFF. If ! you don't understand what this means, don't worry, you don't need to.) Then run your program under the debugger: *************** *** 306,335 **** edebug32 myprog.exe (You will have to get gdb*b.zip if you want to debug with GDB.) ! FSDB has its help screen; press F1 to read it. GDB comes with Info docs (see below) which can be read with info.exe. Edebug32 is a ! seldom-used alternative debugger; type 'h' to get help. On-line docs ------------ ! Most of the on-line documentation is organized in a special hypertext ! format used by the GNU project. Each package brings its docs which ! are files with .iNN extension and are unzipped into the info/ ! subdirectory of your main DJGPP installation directory. To browse ! these docs, get and unzip the file txi*b.zip, then run info.exe. If ! you don't know how to use Info, read the next section. Reading the documentation, or A Crash Course in Info ---------------------------------------------------- ! The following is not supposed to be a complete guide to using Info, ! just a starting point, so you could move around the docs and search it ! for whatever you are looking for. To invoke Info to read a manual, type "info" followed by the manual name. For example: --- 306,335 ---- edebug32 myprog.exe (You will have to get gdb*b.zip if you want to debug with GDB.) ! FSDB has a help screen; press F1 to read it. GDB comes with Info docs (see below) which can be read with info.exe. Edebug32 is a ! seldom-used alternative debugger. Type 'h' to get help when running ! it. On-line docs ------------ ! Most of the on-line documentation is organized in the hypertext Info ! format used by the GNU project. Each package comes with its own ! docs, in files with .iNN extensions which are unzipped into the ! info/ subdirectory of your main DJGPP installation directory. To ! browse these docs, get and unzip the file txi*b.zip, then run ! info.exe. If you don't know how to use Info, read the next section. Reading the documentation, or A Crash Course in Info ---------------------------------------------------- ! The following should get you started moving around in and searching ! the on-line documentation. To invoke Info to read a manual, type "info" followed by the manual name. For example: *************** *** 339,352 **** of library function `printf'; - type "info gcc" to read the manual for GCC, the GNU C compiler; - type "info faq" to read the DJGPP FAQ list; ! - type "info make" to read the manual for the Make utility; To exit Info, press `q' (for Quit). Once inside Info, you can move around with the usual cursor motion keys: Up-arrow, Down-arrow, PageDown, PageUp, etc. ! To read the entire manual in an orderly fashion, press SPACE every time you've completed reading a screenful. This will take you through the entire sequence of chapters and sections of a manual. --- 339,352 ---- of library function `printf'; - type "info gcc" to read the manual for GCC, the GNU C compiler; - type "info faq" to read the DJGPP FAQ list; ! - type "info make" to read the manual for the Make utility. To exit Info, press `q' (for Quit). Once inside Info, you can move around with the usual cursor motion keys: Up-arrow, Down-arrow, PageDown, PageUp, etc. ! To read the entire manual in an orderly fashion, press [SPACE] every time you've completed reading a screenful. This will take you through the entire sequence of chapters and sections of a manual. *************** *** 357,414 **** Hypertext links are marked by "* Note". To follow the reference, position the cursor at the asterisk, then press [Enter]. To get back ! from the excursion, press `l' (that's a lower-case letter ell, not the ! digit one), for "Last". ! To quickly search for a certain subject in the index of a manual, ! press `i' (for Index), type the subject, then press [Enter]. You can ! type only part of the subject name and press TAB, to see whether the ! index includes any entries that begin with what you typed. TAB causes ! Info to try to complete what you typed using the avialable index ! entries; if Info beeps on you or flashes the screen colors, you know ! that there are no index entries which begin with what you typed; ! delete what you have typed (using the BackSpace key) and try a ! different name for what you are looking. If there are some index ! entries that begin with what you typed, Info will complete it. If the ! completed entry looks like what you are looking for, press [Enter] to ! go to the section of the manual that discusses it; if not, press TAB ! again to see all the possible completions. If any of the completions ! seem right, type enough text to make it uinque and press [Enter]. If ! none of the completions seem appropriate, delete what you typed and ! try a different subject name. For example, suppose you get the infamous message "ld.exe: cannot open -lstdcxx: No such file or directory" and you want to check what the FAQ has to say about that. You start Info ("info faq"), then press ! `i' and type "can TAB". The first TAB just capitalizes "can" into "Can", so you know there are some index entries which begin with ! "Can", and type TAB again. Now you will see a list of potential completions. Alas, none of them seems to be relevant for this ! problem, so you use BackSpace to delete "Can" and then type "-lstd" ! followed by TAB. Now the the info program only has one choice so it ! completes your search and this time it's exactly what you are looking ! for! Now press "RET" to go to that node and read what the FAQ has to ! say about this subject. If you prefer to look up the subject in the index yourself, page through the top-level menu of the manual until you find a menu entry that says something like "* Concept Index" or "* Command Index" or just "* Index", press [Enter] to go to the index, then browse it for ! any pertinent entries. An index is just a huge menu sorted in an ! alphabetical order, so whenever you find an entry you are looking for, ! position the cursor at that line and press [Enter] to go to the ! relevant section. ! ! Sometimes the index search isn't good enough (because the indices ! cannot list everything). In this case, press `s' (for Search) and ! type a string you want to find, then press [Enter]. Info will search ! the entire manual for this string and position you at the first ! occurrence. To search for the next occurrence, press `s' again and ! then [Enter]: Info will repeat the search. ! ! Info has many more commands and options. To find out, from the ! command line type "info info". To find out even more, type ! "info info-standalone". --- 357,411 ---- Hypertext links are marked by "* Note". To follow the reference, position the cursor at the asterisk, then press [Enter]. To get back ! from the excursion, press `l' (that's a lower-case letter ell, for ! Last, not a digit one). ! To quickly search for a particular subject in the index of a manual ! (if there is one), press `i' (for Index), type the subject, and then ! press [Enter]. You can type only part of the subject name and then ! press [TAB] to see whether the index includes any entries that begin ! with what you typed. [TAB] causes Info to try to complete what you ! typed using the available index entries. If the completed entry ! looks like what you want, press [Enter] to go to the section of the ! manual that discusses it. If not, press [TAB] again to see a list of ! all of the possible completions. If any of the completions seem ! right, type enough text to make it unique and then press [Enter]. If ! none of the completions seem appropriate, or if Info beeps/flashes at ! you to tell you that no index entries begin with what you typed, ! delete what you have typed (using [BackSpace]) and try a different ! name for what you are looking for. For example, suppose you get the infamous message "ld.exe: cannot open -lstdcxx: No such file or directory" and you want to check what the FAQ has to say about that. You start Info ("info faq"), then press ! `i' and type "can [TAB]". The first [TAB] just capitalizes "can" into "Can", so you know there are some index entries which begin with ! "Can", and press [TAB] again. Now you will see a list of potential completions. Alas, none of them seems to be relevant for this ! problem, so you use [BackSpace] to delete "Can" and then type "-lstd" ! followed by [TAB]. Now Info only has one choice so it completes your ! search and this time it's exactly what you are looking for! Finally, ! press "RET" to go to that node and read what the FAQ has to say about ! this subject. If you prefer to look up the subject in the index yourself, page through the top-level menu of the manual until you find a menu entry that says something like "* Concept Index" or "* Command Index" or just "* Index", press [Enter] to go to the index, then browse it for ! any pertinent entries. An index is just a big menu sorted in ! alphabetical order, so whenever you want to read about an entry, ! position the cursor at the start of its line and press [Enter] to go ! to the relevant section. ! ! Sometimes the text you are looking for just won't be in the index. ! In this case, press `s' (for Search), type the text you want to find, ! and then press [Enter]. Info will search the entire manual and ! position you at the first occurrence of your search string. To ! search for the next occurrence, press `s' and [Enter] again. ! ! Info has many more commands and options. To read the official ! introduction to Info, type (you guessed it!) "info info" at the ! command line. For the complete guide, type "info info-standalone". *************** *** 420,426 **** methods used by versions 2.01 and later to handle long command lines (and long filenames under Win95), mixing V2.00 programs with those from later versions can cause very subtle and difficult to debug ! problems. See the FAQ section 16.6 for more information. --- 417,424 ---- methods used by versions 2.01 and later to handle long command lines (and long filenames under Win95), mixing V2.00 programs with those from later versions can cause very subtle and difficult to debug ! problems. See the FAQ section 16.6, "Why Make passes only 126 ! characters to programs", for more information. *************** *** 428,435 **** ----------------------- Existing binaries compiled under DJGPP V1.x can be used for ! applications for which there is no v2.x version. V1 programs cannot ! run V2 programs (but v2 programs *can* run v1 programs), so don't try, say, using v1.x Make to run v2.x compiler. --- 426,433 ---- ----------------------- Existing binaries compiled under DJGPP V1.x can be used for ! applications for which there is no v2.x version. V2 programs can run ! V1 programs, but V1 programs *cannot* run V2 programs, so don't try, say, using v1.x Make to run v2.x compiler. *************** *** 447,453 **** DJGPP V2's copyright allows it to be used to produce commercial applications. However, if you include code or libraries that are not part of djgpp (like gnu's libg++) then you must comply with their ! copyrights. See Chapter 19 of the FAQ for more details. There was a discussion a while ago on the DJGPP news group about the copyright of some of libc's functions. This copyright required that you --- 445,451 ---- DJGPP V2's copyright allows it to be used to produce commercial applications. However, if you include code or libraries that are not part of djgpp (like gnu's libg++) then you must comply with their ! copyrights. See Chapter 19 of the FAQ, "Legal Aspects", for more details. There was a discussion a while ago on the DJGPP news group about the copyright of some of libc's functions. This copyright required that you