Source code of the Lazarus IDE for Free Pascal. -- Visit us at https://www.lazarus-ide.org or https://forum.lazarus.freepascal.org
Go to file
Abou Al Montacir f64c1307f9 Issue #39988: Changed order of folders where to search for included files.
The order of folders where to search for included files should be
related to user preference as follows:
 1. directory where the input is located,
 2. directories supplied by user at command line in the order they were
    passed,
 3. default system directories, where distributions used to put them.

 This way, user can easily override files in the default system
 directories without the need to have write access to such folder, as in
 most Unix systems this will require root access.

 Also, one expects, that if copy of an included file is placed in the
 same directory as the input one, then this copy should be used.
 This makes sens, because people generally work on the same directory,
 and will consider their local work copy the preferred one to be used.
2023-05-11 15:46:44 +00:00
components Docs: LazControls/various. Standardizes tagging for file names in unit overview topics. 2023-05-10 08:53:29 +01:00
converter Converter: Move function PathHasPascalUnitFile to IDEProcs. Search missing units from all open packages. 2023-03-26 15:38:22 +03:00
debugger Debugger: moved asm dialog to IdeDebugger 2023-03-13 17:38:12 +01:00
designer LCL: Call TThemeServices.GetDetailSizeForPPI with proper arguments. Revert 1138d26280. 2023-04-27 17:23:33 +03:00
doceditor
docs Docs: LCL/various. Standardizes tagging for file names in unit overview topics. 2023-05-10 08:55:40 +01:00
examples ExamplesWindow: Read example directories from a text file and from package .lpk files. The window opens faster. Issue #40190, patch by dbannon. 2023-04-16 14:31:09 +03:00
ide IDE: Configure Build Lazarus dialog taborder and layout improvements by Don Siders, issue #40256 2023-05-11 01:20:49 +03:00
images Images: New modified motifs of general-purpose images by Roland Hahn (Print, Window). 2023-04-29 20:00:24 +02:00
install
languages IDE: regenerated translations and updated Russian translation 2023-05-11 01:29:59 +03:00
lazarus.app/Contents set trunk version to 2.3.0 2021-06-15 14:00:39 +00:00
lcl FIX: Cocoa: Arithmetic Overflow in menus (issue #40167 related) 2023-05-11 21:58:19 +08:00
packager updated lpl 2023-05-09 09:05:24 +02:00
startlazarus.app/Contents
test LazUtils: Harmonize the CamelCase names of some units. Add a license header for LazTracer. 2023-04-10 09:15:24 +03:00
tools Issue #39988: Changed order of folders where to search for included files. 2023-05-11 15:46:44 +00:00
.gitattributes IDE: Move LazConf.pp to new base-package "IdeConfig" 2022-12-08 19:28:19 +01:00
.gitignore gitignore mac file 2022-10-28 08:24:27 +02:00
.gitlab-ci.yml CI: explicitly clear Qt bindings caches in a separate jobs if any files in their directories are changed 2023-05-03 19:26:51 +03:00
COPYING.GPL.txt
COPYING.LGPL.txt
COPYING.modifiedLGPL.txt
COPYING.txt
Dockerfile.buildenv CI: store FPDoc executables separately for different FPC versions 2022-12-20 01:58:29 +03:00
fpmake_add.inc
fpmake_proc.inc
fpmake.pp
localize.bat Translations: cleaned up localize scripts 2023-01-11 01:19:00 +03:00
localize.sh Translations: cleaned up localize scripts 2023-01-11 01:19:00 +03:00
Makefile Makefile: make sure all default debuggers are always included in the IDE 2023-01-08 14:30:30 +01:00
Makefile.fpc Makefile: make sure all default debuggers are always included in the IDE 2023-01-08 14:30:30 +01:00
README.md README.md: provided link to Lazarus Wiki for installation instructions 2023-04-30 19:01:32 +00:00

Welcome to Lazarus

Lazarus is a Rapid Application Development Tool for Free Pascal. It comes with the LCL - Lazarus component library, which contains platform independent visual components like buttons, windows, checkbox, treeview and many, many more. The LCL is platform independent, so you can write an application once and then compile for various platforms without changing code.

Free Pascal is a fast Object Pascal compiler, that runs on more than 20 platforms (Linux, Windows, BSD, OS/2, DOS, PowerPC, and many more).

The LCL currently supports:

  • Linux/FreeBSD (GTK2, Qt4, Qt5 and Qt6)
  • all flavors of Windows (even WinCE)
  • macOS (Cocoa, Carbon, GTK2, Qt4, Qt5, Qt6)

There is an experimental support for:

  • GTK3
  • Solaris

The LCL still contains code for GTK1, although this target is obsolete.

Compilation

You don't need ./configure, just do
make clean bigide (gmake clean bigide in BSD).

This will create the Lazarus executable with a lot of packages. Start it and enjoy.

If the above gives an error, you can try to build a minimal IDE with
make clean all (gmake clean all in BSD).

Installation and Requirements

See Lazarus Wiki for details.

Usage

Start the IDE with:

cd your/lazarus/directory
./lazarus

Documentation

The official site is www.lazarus-ide.org. Documents about specific topics can be found at https://wiki.freepascal.org/Lazarus_Documentation. Examples on how to use the LCL can be found in the examples directory. Help, documents and files about Free Pascal are at www.freepascal.org.

Mailing list

There is a very active and helpful mailing list for Lazarus, where the developers interact, share ideas, discuss problems, and of course answer questions. You can subscribe at http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus.

How to help Lazarus

If you find bugs, don't hesitate to use issue tracker, or send an email to the list. Lazarus source code and issue tracker are located at GitLab.