[lazarus] Clean build from nothing
Mattias Gaertner
nc-gaertnma at netcologne.de
Tue Jun 24 06:10:30 EDT 2003
On Tue, 24 Jun 2003 12:26:04 +0200 (CEST)
marcov at stack.nl (Marco van de Voort) wrote:
> > I'm thinking about creating an ebuild for the gentoo linux distrubution.
> > This (for those who don't know) is a distro which builds everything from
> > source. An Ebuild automates this process. (in short it will add a number
> > of users (and hopefully developers)).
> >
> > I've looked over the doc's and the faq and the downloads, and I've
> > followed the mailing list. In short I'm rather confused as to what is
> > needed. Do I need FPC Version 1.07 as in the downloads, or 1.08 as in
> > the the mailing list, or 1.1 as in the downloads. Where is the best
> > place to download it from?
>
> I've thought this over for FreeBSD. Effectively, you need:
Can I add this text to docs/INSTALL for BSD?
> - a file with all sources, or two (fpc and lazarus)
> (1) e.g. for fpc
> ftp://ftp.freepascal.org/fpc/dist/Linux/separate/sources.tar
> preferably an export (no CVS/ dirs). The above file misses this
>
> (2) Lazarus source snapshot. Not available on the net (?)
See lazarus downloads section 'Sources'.
> - _any_ starting compiler from the 1.0 branch) You can do a check by
> parsing
> the output of ppc386 -i if it is 1.0.6 .. 1.0.8 it is ok.
> - dependant packages. (for FreeBSD that is gtk12, glib12 and gdk_pixbuf
> and
> GNU make, iconv and gettext)
>
>
> FPC build:
>
> (1) (fetch) necessary files (FPC source, starting compiler)
> (2) (extract) Then de-tgz in work directory,
> (3 (build) enter work/fpc/ and run
>
> make all OPT='-gl -O3p3' PP=/path/to/startingcompiler-name-ppc386
>
> (/path/to/ can be omitted when ppc386 is in the path)
>
> (4) (install) then, again in work/fpc, run
> make install PP=compiler/ppc386 PREFIX=$THEPREFIX
>
> (THEPREFIX= usually is /usr/lcoal, but e.g. on NetBSD it is /usr/pkg
> for ports)
>
>
> Create a symlink
> ln -s $THEPREFIX/lib/fpc/1.0.8/ppc386 $THEPREFIX/bin/ppc386
>
> install sourceinstall PREFIX=$THEPREFIX
>
> (5) (configure) run compiler/utils/samplecfg $THEPREFIX/lib/fpc/1.0.8
> $ETCDIR(6) (optional, test), see if ppc386 -i gives output, else give a
> warning
> that user need to add $PREFIX/bin to his current path.
> Try to compiler a program with -viwn, and see if that gives errors.
>
>
> Notes:
> - If you need package lists, you need to generate or supply them yourself,
> (in the port, or in an extra archive)
> either way,
> do a dummy install to /tmp/pack and determine the files installed with
> find . >ll
>
> - $THEPREFIX and $ETCDIR should be user configurable. Otherwise local
> installs
> aren't possible.
> - BSDHIER=1 on all make commands forces BSD hierarchy conventions, test
> what is closer to Gentoo defaults, with or without.
> - make a user with very limited rights (e.g. by not making him member of
> "users"), and try if he can install in his local dir without errors.
>
> - Binutils and some other utils needed during built are in base in
> FreeBSD,
> so I don't check/know these dependancies.
> Easiest is to try the port on a minimal Gentoo install with lots
> of
> verbosity options, and see if it works.
>
> > How about the Lazarus. It looks like it is in heavy development right
> > now (which I feel is good), am I better grabbing source from the cvs or
> > from the download section?
>
> Lazarus is easier I think.
> Make sure the proper source snapshot (so a lazarus cvs checkout), and
> all needed libraries.
>
> Then repeat the build and install steps for lazarus/
>
> > Should I hold off until 1.08 fpc is officially released?
>
> Yes and no.
>
> Yes, for submitting anything final, wait for the final sources.
> No, you can start experimenting now.
>
> > Is there a document somewhere that explains exactly how to install from
> > source? (I'm not interested in binaries).
>
> There is a make cycle faq, but that's for a more ackward era. The
> makefiles have improved a lot, and basically it is calling make all and
> make install with the appropriate modifiers. The releases are roughly
> prepared in a similar way.
Mattias
More information about the Lazarus
mailing list