Sign in Join

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

Mailing lists / fpc-pascal / 2015-12

what does fpc make target sourceinstall do?

3 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

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

Bo Berglund

I have looked at a cook-book description on how to build fpc from sources on RaspBian Linux and there I found these steps (I have left out some other steps non-related to my question):

svn co http://svn.freepascal.org/svn/fpc/tags/release_3_0_0 3.0.0 cd 3.0.0
make clean
make all OPT=-dFPC_ARMHF
sudo make install OPT=-dFPC_ARMHF PREFIX=/usr
sudo make install sourceinstall OPT=-dFPC_ARMHF PREFIX=/usr

If I run these commands except the last everything seems to work fine including building lazarus and starting it.

So my question is really if the last line above is superfluous and otherwise what it really does?

Does it invoke the building of fpc twice or is "install sourceinstall" a separate command?

I tried "make help" to see the available targets but it returned:

Targets
all Alias for build
build Build a new compiler and all packages
install Install newly build files
zipinstall Create zip/tar of installed files
singlezipinstall Alias for zipinstall

So it seems like sourceinstall is not even a valid target....

Note:
I have next to no knowledge of make, the only time ever I use make is when dealing with open source software like fpc and then only with direction from some instructions (files or webpages).

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Bo Berglund
Bo Berglund wrote 17 lines
I have looked at a cook-book description on how to build fpc from sources on RaspBian Linux and there I found these steps (I have left out some other steps non-related to my question): svn co http://svn.freepascal.org/svn/fpc/tags/release_3_0_0 3.0.0 cd 3.0.0 make clean make all OPT=-dFPC_ARMHF sudo make install OPT=-dFPC_ARMHF PREFIX=/usr sudo make install sourceinstall OPT=-dFPC_ARMHF PREFIX=/usr If I run these commands except the last everything seems to work fine including building lazarus and starting it. So my question is really if the last line above is superfluous and otherwise what it really does?

Anyone with any info to share on this?
Will
make install
be superfluous if it is followed by:
make install sourceinstall

I.e. if two arguments are given will both be processed in sequence?

And what does sourceinstall really do?

Bo Berglund Developer in Sweden

Reply by email

Anthony Walter
to Bo Berglund

The compiler has a few parts.

The bin folder which is created during "make install". Cross compilers can also be placed there after "make crossinstall"
The lib folder which is created during "make install". It contains the rtl, fcl, and other units per architecture (from "make crossinstall") for the packages folder.

Now I am going to go out on a limb and guess that "make sourceinstall" copies the fpc source code, located under the compiler folder, to the $INSTALL_PREFIX/compiler folder.

Personally, I always install somewhere under $HOME (e.g. INSTALL_PREFIX=$HOME/Development/FreePascal) such that sudo is not needed. In that case it would be relatively easy to determine which files/folders "make sourceinstall" is manipulating. NExt time I build the compiler I'll try out "make sourceinstall" and see what happens.

Reply by email