Using GIT as installer (medium level+1)

Most of you reading these instructions will prefer to use the Lazarus Installer or fpcupdeluge. But there is a third way that works for Windows and Linux, installing directly from Lazarus source code, sounds complicated, but it is not if you have compiled programs via GIT before. There are some advantages to this, the self-compiled binary version will be specific to your hardware and therefore faster than the installer version. Similar to fpcupdeluge, but more economical and faster because we will use FreePascal(FPC from now on) pre-installed
As Lazarus is in a GIT repository, we have another advantage: version upgrades. Follow the instructions below, although they are for Windows, the principles are the same for Linux.

1. Install FPC from the official installer:

https://www.freepascal.org/download.html

Escolha a versão apropriada para seu sistema, a mais compativel será “Intel x86/i386->Windows 32-bit”, mas também poderá usar a versão 64bits indicada abaixo:

Installation is a sequence of Next->Next->Finish and does not need further details. For didactic purposes, let's assume from now on that we have it installed in C:\FPC\3.2.2.

Você poderá instalar as duas versões win32 e win64, daí poderá fazer crosscompiling, isto é, compilar para as duas arquiteturas: win32 e win64. Se esta for sua intenção, você pode instalar a versão 32bits o qual será a versão do Lazarus e o crosscompiling e ainda assim compilar para win64:

Note que embora sejam duas versões win32 e win64, o sufixo começa com “win32” indicando que essa é a arquitetura principal, porque isso é importante? Porque sua IDE Lazarus quando for construída será win32, você pode compilar e gerar um executável para win64, mas com uma IDE 32bits não poderá debugar um programa 64bits. Então se a maioria dos seus programas forem distribuidos em 64bits é melhor você inverter na hora do download escolhendo o prefixo win64 com build para win32 se este for o caso.

2. Precisará dos fontes do Free Pascal Compiler(FPC)

Precisará baixar o código fonte do FPC, você poderá obtê-lo em:

https://www.freepascal.org/down/source/sources.html

The source code is usually compressed and with the suffix “source” in the name, as you can see in the following image:

suffix “source” in the name of compressed files

Then download it, then unzip it in the folder where FPC was installed, in our example: c:\FPC\3.2.2 and then a subfolder with the source code will be created and then it will look like this: C:\FPC\3.2.2\subfolder, rename the name of the subfolder for sources to be more informative and then note this path – C:\FPC\3.2.2\sources. We will need to remember this path later on.

3. Apague a configuração anterior em seu perfil

Apague a pasta %USERPROFILE%\AppData\Local\Lazarus if it exists.

4. Vamos ao terminal

Abra o cmd.exe ou o terminal e vamos criar a pasta que receberá os arquivos do Lazarus:

cd c:\
git clone https://gitlab.com/freepascal.org/lazarus/lazarus.git  
cd lazarus (assim você estará posicionado em c:\lazarus)

5. Git

Há duas formas de selecionar dentro do repositório o que queremos, através de ‘branch’ ou ‘tag’. Vamos usar a opção ‘tag’ que é o que a maioria esta acostumado.

Para listar os branches, você primeiro deve abandonar a branch atual caso tenha escolhido alguma:

git switch -

E depois usar um comando abaixo para listar todos os branches:

git tag

E então todos os “tags” de versão serão listadas, nossa intenção aqui é selecionar a versão mais recente:

(...)
lazarus_3_6
lazarus_3_0_RC1
lazarus_3_0_RC2
(...)

E finalmente vamos escolhê-la:

git checkout lazarus_3_6

Atenção: As vezes você pode encontrar o sufixo “fixes_”, por exemplo, ao listar os branches e encontrar “lazarus_3_6” e “fixes_3_6”, nessa situação dê preferência a última porque já contêm as correções.

6. Vamos compilar

Finalmente após ter escolhido o branch ou tag adequado, poderemos compilar. Ainda no terminal, execute:

make clean 

Se o comando ‘make’ falhar é porque provavelmente há outro comando ”make.exe’ pertencente a outra linguagem que tem preferência no PATH do sistema, neste caso, faça o seguinte:

set path=C:\FPC\3.2.2\bin\i386-Win32;%path%

E então repetimos o mesmo comando:

make clean 

Aqueles que tiverem o Delphi instalado, possivelmente terão este problema. Agora para concluir, então executamos:

make bigide
(Vai demorar um pouco, relaxe e vá tomar com café enquanto isso)

7. Indicando os fontes do FPC

Quando a IDE iniciar-se, geralmente a primeira tela será uma busca automática pelo código fonte do FPC. No ambiente Windows é raro encontrar a localização dos fontes sozinho então devemos clicar em “Parar” e a procura será interrompida e daí então indicar o local onde o código fonte do FPC foi descompactado, a saber C:\FPC\3.2.2\src:

Defining the location of the FPC “sources”

E então clicar em “Depurador“.

8. Indicando o depurador(debugger)

Ao clicar em Depurador, você escolherá a opção “Create a new recommended backend”:

E então clicar em Iniciar IDE.

9. Vamos atualizar os fontes do Lazarus?

Eventually you might want to download new versions or updates, it's a git repository so there won't be any problems, whenever you need to use the commands:

git pull 

E então completar o processo com a própria IDE, basta ir em Ferramentas|Configurar construção do Lazarus e então concluir em Ferramentas|Construir o lazarus com o perfil…

10. Se algo não tá dando certo…

If something turns out different than expected, access the link below, it was the original link where the instructions were based, maybe it will clarify what went wrong:

https://wiki.lazarus.freepascal.org/Getting_Lazarus

11. Alguém disse “cross-compiling”?

Caso tenha optado pelo cross-compiling, baixando e instalando as duas versões, ao compilar um project você vai na IDE, em Project|Project Options|Compiler Options|Config and Targets e cria os Builds Modes, um para win32 e outro para win64, o qual prefiro chamar de amd64:

Target OS e Target CPU Family podem ser distintos para cada Build mode.

No caso de ter optado por crosscompiling, terá de aprender a criar Build Modes para win32 e outra para win64(amd64) depois de criar então ajustar em Project|Project Options|Compiler Options|Config and Targets os parametros Target OS e Target CPU Family que são os mais importantes para indicar o sistema operacional e a arquitetura.

Integrando o editor de código com ajuda on line(Help)

Quando usado o instalador oficial do Lazarus o editor de código é integrado a ajuda online, ou seja, se você der um F1 quando uma função ou método estiver em foco então uma janela abre-se com uma explicação sobre o mesmo. Infelizmente isso não funciona quando você faz a instalação manual do Lazarus. É muito recomendado que você faça essa instalação, por isso siga o link abaixo que descreverá como fazê-lo.

Integrando o editor de código com ajuda on line(Help)

CONCLUSION

Agora você tem tudo o que precisa para executar sua instalação como programador. Tenho que ser sincero, o instalador é bom o suficiente para te entregar tudo pronto, mas ao usar o GIT você é como um mecânico que monta seu próprio carro ao invés de comprar um montado e com essa analogia em mente, saiba que uns vão preferir ter o carro pronto e não há nada errado nisso, mas se você experimentar montá-lo poderá dizer que entendeu o processo e mais tarde usar apenas o instalador por conveniência e não porque não sabe como montá-lo.

Boa compilação!