Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

How to create a Closed Source Package with Lazarus

No description
by

Mattias Gaertner

on 8 September 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of How to create a Closed Source Package with Lazarus

How to create a Closed Source Package with Lazarus
Simple Recipe
1. Make a copy, clean up
2. Change lpk
3. Compile with lazbuild for all targets
4. Remove implementations
5. Clean up, Compile examples, Update docs
6. Create a zip

About Lazarus Packages
Good:
Sharing Pascal units cross platform
Projects only need the name
Min/Max Version
Separate compiler call
Multiple output directories
Example: PasCon2013
Package editor of pascon2013.lpk
sourcecloser
command line utility
components/codetools/examples/sourcecloser.lpi
change lpk
remove implementations from units
disable compilation
Build with lazbuild
"lazbuild -B pascon2013.lpk"
see "lazbuild -h" for options
For safety use --pcp
Build all targets
remove pascon2013.compiled
Change lpk
Add -Ur
Add custom options with --compileroptions=
Set to "Manual Compilation"
Remove implementations
"sourcecloser unit1.pas *.pas"
see "sourcecloser -h" for options
private sections, implementation, initialization, finalization
delete include files after
directives can make trouble
The Customer
Downloads and unpacks the zip
Opens the (main) lpk file via "Package / Package Open Package file"
In the opened package editor clicks on "Use / Install"
The IDE might rebuild some used packages, rebuilds itself and restarts
Multiple lpk
Do not use units in two packages
Do not share output directories
Set preferred lpk in dependencies
Set Min/Max version
What can go wrong ...
User compiles package
User cleans up package, e.g. via "Run / Clean up build files"
User changes used packages
Need Work:
Automatic recompile
Code navigation, fpdoc
License
This is done by "sourcecloser".
This is done by "sourcecloser".
This is done by "sourcecloser".
Beware: Lazarus 1.0.12 and below do not disable the "Compile" button.
How to set the preferred package:
components/codetools/docs/sourcecloser_example_script.sh
Full transcript