Author Topic: [SOLVED] Lazbuild clean&rebuild only some dependencies  (Read 1073 times)


  • Sr. Member
  • ****
  • Posts: 367
[SOLVED] Lazbuild clean&rebuild only some dependencies
« on: January 31, 2020, 04:35:19 pm »
I use misc. versions of virtual machines to build my cross platform projects instead of crosscompiling.
I learned it is better to build the SW on the system where the SW then runs (no compatibility issues etc.).

The project sources + helper libs are stored outside of the VMs on my primary OS and are accessible through shared folders to the VM.
Lazarus itself is installed on each VM.

I use Lazbuild to build the projects (I made shell scripts for this).

The problem is when I switch to another VM (eg. from OSX El Capitan to MacOS Catalina, where both VMs see the builds in x86_64-darwin folders).
Then I need to clean and build all the project dependencies, otherwise compiler reports PPU mismatch errors.

For Lazbuild I chose --build-all --recursive options.
But this is too slow, it rebuilds all the dependencies including those which do not needed to be recompiled (LCL packages etc.).

My question is how to tell Lazbuild to clean&rebuild only those packages located in my shared folders.
Without adding too much complexity, ie. creating separate build configurations for these projects and packages for each VM etc.
« Last Edit: February 01, 2020, 11:59:35 am by tk »


  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3865
  • I like bugs.
Re: Lazbuild clean&rebuild only some dependencies
« Reply #1 on: January 31, 2020, 05:55:54 pm »
Create a simple script to remove all .ppu and .o files from the shared folders.
Then build normally.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux.


  • Sr. Member
  • ****
  • Posts: 367
[SOLVED] Re: Lazbuild clean&rebuild only some dependencies
« Reply #2 on: February 01, 2020, 11:58:28 am »
Ok thanks Juha, my friend told me yesterday perhaps even a cleaner solution because I use git for all these sources.
It means to build everything on the VM and just pull/update everything from git to the VM local folders before compiling.
Sad I could not figure these simple solutions myself...maybe I should get myself another beer...


TinyPortal © 2005-2018