Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 1999-05

[Fwd: How-To 0.6]

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Cliff Baeseman

To: "Lazarus mailing list"
Subject: [lazarus] How-To 0.6

Earlier message 248 lines
From: "Sergio A. Kessler" Date: Mon, 17 May 1999 18:30:36 -0300 Reply-To: Resent-Date: Mon, 17 May 1999 19:50:27 -0400 Resent-From: Resent-Message-ID: Resent-Sender: changes from previous release: - minor clean up - added a new script Lazarus-developer-HowTo-0.6 Thanks (for comments, suggestions, corrections): * Michael Anthon * Marco van de Voort * Michael -ubiquitous- Van Canneyt Linux instructions: Well, this is how I configured my system, this approach is intended for developers and those that want to stay up to date with the code in the FPC's CVS. You will need the cvs program installed, type "cvs --help" to see if it's installed, if not try to install it from a .rpm, .deb or .pkg (up to you :) Also, if you have the mc (Midnight commander), a clone of the Norton Commander, it will make very easy the tasks of copying and moving files, type "mc" and see if you have it installed (it come with most distros). This text assume that you are running the bash shell, if you don't know what the hell is this, don't worry :) One time actions (First day only): ---------------- Make a directory called /opt (if you don't have it, of course). The /opt is always used by self contained apps that doesn't come in packages, so it's easy to administer it in a isolated directory. Enter to the /opt directory and create one inside called "fpc", enter to the fpc directory. Connect to the internet (up to you :) (if you are using RedHat, try LinuxConf or Gnome-PPP). Now (inside /opt/fpc ) you have to type the following on the command line: $ export CVSROOT='' $ cvs login You will be prompted for a password: (Logging in to ) CVS password: The password is 'cvs' (don't type the quotes). This step needs to be performed only once. Your CVS client will remember the password. Now you need to checkout (download) the modules: cvs -z3 checkout <module1> <module2> example: $ cvs -z3 checkout base compiler rtl fcl docs gtk lazarus The list of available modules (courtesy of MVC) are: base api fcl docs lazarus gtk rtl compiler gdbpas ide utils This will download the current cvs source code (the bleeding edge) to your computer and create a directory structure. ok, this will be a big download, BUT you have to do this only _one_ time, the first time. The -z3 parameter means compression for saving bandwidht. if you are not interested in docs, for example, do not checkout it. you will end up with this tree: /opt /fpc /CVS (internal cvs use, do not touch) /base /compiler /gtk /lazarus /rtl ... Now make a directory /opt/fpc/units/linux in where we'll put the compiled units. But the first time we need a binary compiler, because we have all the source but we don't have a compiler, so download a _release_ (not snapshot) for linux from: ftp://tflily.fys.kuleuven.ac.be/pub/fpc/dist/Linux/libs.tar.gz and save the compiler binary in /opt/fpc under the name ppc386.release and forget about the units in the package. Now edit your ~/.bash_profile to include /opt/fpc in your path and declare environment variable FPCDIR=/opt/fpc and export it. Logout and login again so this take effect. Repeated actions (every day or so): ---------------- 1) Copy the content of /opt/fpc/base to /opt/fpc, but *don't* delete the base directory. 2) Is a good idea to recompile the compiler every time you update your sources. For this do: $ cd /opt/fpc $ mv -f ppc386.release ppc386 $ rm -f units/linux/* $ cd compiler $ make cycle [1] $ cd ../rtl/linux $ mv *.o /opt/fpc/units/linux/ $ mv *.ppu /opt/fpc/units/linux/ $ cd /opt/fpc $ mv ppc386 ppc386.release $ cp compiler/ppc386 . opt/fpc/ppc386.release is the old opt/fpc/ppc386 is the new 3) The next time you want to update your source code from the fpc repository, just sit inside the /opt/fpc directory and do: cvs -z3 update -dP <module1> <module2> ... <moduleN> this will download _only_ what is changed in the central repository and your sources get updated (the -dP means create any new directory that appears in the repository and prune any empty directory). 4) Go to 1) ____________________________________________________________________ Reasons for use CVS: - *MUCH* more bandwidth friendly than download .zip or .gz every day. - Easy, very, very easy to use once you checkout the modules. - You will stay in the bleeding edge state of the source. What I do is update the cvs in the work (we have a dedicated line to the Internet), but because I can't investigate further in the work, I gzipped all the tree and take it to my house. For compress the whole tree, I do: tar -czvf fpc.tar.gz /opt/fpc ____________________________________________________________________ [1] "make cycle" (in /opt/fpc/compiler directory) compiles the rtl-compiler until the two last compiled compilers are the same. This is normally three times, one recompile is necessary for all changes to take effect in the binary, and an extra one to make the comparision possible. This is the standard procedure for building snapshots. Be sure to use a release version of the compiler to do this. ____________________________________________________________________ Here are a few scripts that could help you in this process, place the files in /opt/fpc and don't forget to make it executables. script cvs_init: #!/bin/bash CVSROOT='' cvs login cvs -z3 -d ${CVSROOT} checkout base api fcl docs gtk lazarus rtl compiler gdbpas ide utils script cvs_update: #!/bin/bash cvs -z3 update -dP base api fcl docs lazarus gtk rtl compiler gdbpas ide utils script new_ppc: #!/bin/bash cd /opt/fpc mv -f ppc386.release ppc386 rm -f units/linux/* cd compiler make cycle cd ../rtl/linux mv *.o /opt/fpc/units/linux/ mv *.ppu /opt/fpc/units/linux/ cd /opt/fpc mv ppc386 ppc386.release cp compiler/ppc386 . ____________________________________________________________________ FAQs ---- 1.Q - I need a /etc/ppc386.cfg if I use cvs like the above schema ? 1.A - No. You don't need this file at all, the makefiles do all the work. --- 2.Q - How I compile lazarus ? 2.A - Do something like this: $ cd /opt/fpc/fcl $ make $ cd ../gtk $ make $ cd ../lazarus $ make --- Copyright (C) 1999 Sergio A. Kessler _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.miraclec.com/list_archives/lazarus

Reply by email