Delphi for Linux RTL units

Posted by on in Tutorial

I want to follow up my blog post covering the Delphi Linux compiler with a second one focused on the RTL units that are going to be available in Delphi for the Linux platform.

The System Name Space

These are the units part of the System name space that are available for the Linux platform (in alphabetic order):

SysInit.pas

System.Bindings.Consts.pas: this and following units have Live Bindings support

System.Bindings.CustomScope.pas

System.Bindings.CustomWrapper.pas

System.Bindings.EvalProtocol.pas

System.Bindings.EvalSys.pas

System.Bindings.Evaluator.pas

System.Bindings.Expression.pas

System.Bindings.ExpressionDefaults.pas

System.Bindings.Factories.pas

System.Bindings.Graph.pas

System.Bindings.Helper.pas

System.Bindings.Manager.pas

System.Bindings.ManagerDefaults.pas

System.Bindings.Methods.pas

System.Bindings.NotifierContracts.pas

System.Bindings.NotifierDefaults.pas

System.Bindings.ObjEval.pas

System.Bindings.Outputs.pas

System.Bindings.Search.pas

System.Bluetooth.Components.pas

System.Bluetooth.pas

System.Character.pas: this unit has Unicode support at the codepoint level

System.Classes.pas: basic classes for TComponent etc

System.ConvUtils.pas: convert units of measurement

System.DateUtils.pas: dates processing

System.pas: the core unit 

System.Diagnostics.pas

System.Generics.Collections.pas: as the name says, generic collections

System.Generics.Defaults.pas

System.Hash.pas: hashing support has been extended with file hashing

System.HelpIntfs.pas

System.IniFiles.pas: these clone the Windows INI files

System.Internal.DebugUtils.pas

System.Internal.ExcUtils.pas

System.Internal.JSONHlpr.pas

System.Internal.StrHlpr.pas

System.Internal.VarHlpr.pas

System.IOUtils.pas: support for modern file system access (input/output utilities)

System.JSON.BSON.pas: this and the following units have JSON and BSON streaming support

System.JSON.Builders.pas

System.JSON.Converters.pas

System.JSON.pas

System.JSON.Readers.pas

System.JSON.Serializers.pas

System.JSON.Types.pas

System.JSON.Utils.pas

System.JSON.Writers.pas

System.JSONConsts.pas

System.Linux.Bluetooth.pas

System.Masks.pas

System.MaskUtils.pas

System.Math.pas: Core mathematical functions

System.Math.Vectors.pas

System.Messaging.pas

System.Net.FileClient.pas: the "Net" units implement the HTTP client library

System.Net.HttpClient.pas

System.Net.HttpClient.Linux.pas

System.Net.HttpClientComponent.pas

System.Net.Mime.pas

System.Net.Socket.pas

System.Net.URLClient.pas

System.NetConsts.pas

System.NetEncoding.pas

System.RegularExpressions.pas: these units have RegEx support

System.RegularExpressionsAPI.pas

System.RegularExpressionsConsts.pas

System.RegularExpressionsCore.pas

System.RTLConsts.pas

System.Rtti.pas: Core RTTI access unit, or reflection support

System.Sqlite.pas

System.StartUpCopy.pas

System.StdConvs.pas

System.StrUtils.pas: core string processing utilities

System.SyncObjs.pas: threads synchronization

System.SysConst.pas

System.SysUtils.pas: the most classic system utilities

System.Tether.AppProfile.pas: AppTethering support

System.Tether.Comm.pas

System.Tether.Consts.pas

System.Tether.Manager.pas

System.Tether.NetworkAdapter.pas

System.Tether.TCPProtocol.pas

System.Threading.pas: this unit defines the Parallel Programming Library (or PPL)

System.TimeSpan.pas

System.Types.pas

System.TypInfo.pas: the more traditional RTTI access

System.UIConsts.pas

System.UITypes.pas

System.VarCmplx.pas: these units offer limited variants support

System.VarConv.pas

System.Variants.pas

System.VarUtils.pas

System.Zip.pas: compression support

System.ZLib.pas

System.ZLibConst.pas

Other Name Spaces

There are other RTL name spaces, though:

- XML support via native OmniXML

- SOAP support

- REST client library support

Linux and Posix APIs

The LinuxAPI name space with units for kernel definitions and Curl, plus dozens of units implementing the Posix API:

Posix.ArpaInet.pas

Posix.Base.pas

Posix.Dirent.pas

Posix.Dlfcn.pas

Posix.Errno.pas

Posix.Fcntl.pas

Posix.Fnmatch.pas

Posix.Grp.pas

Posix.Iconv.pas

Posix.Langinfo.pas

Posix.Limits.pas

Posix.Locale.pas

Posix.NetDB.pas

Posix.NetIf.pas

Posix.NetinetIcmp6.pas

Posix.NetinetIn.pas

Posix.NetinetIp6.pas

Posix.NetinetTCP.pas

Posix.NetinetUDP.pas

Posix.Pthread.pas

Posix.Pwd.pas

Posix.Sched.pas

Posix.Semaphore.pas

Posix.Signal.pas

Posix.StdDef.pas

Posix.Stdio.pas

Posix.Stdlib.pas

Posix.String_.pas

Posix.StrOpts.pas

Posix.SysMman.pas

Posix.SysSelect.pas

Posix.SysSocket.pas

Posix.SysStat.pas

Posix.SysStatvfs.pas

Posix.SysSysctl.pas

Posix.SysTime.pas

Posix.SysTimes.pas

Posix.SysTypes.pas

Posix.SysUio.pas

Posix.SysUn.pas

Posix.SysWait.pas

Posix.Termios.pas

Posix.Time.pas

Posix.Unistd.pas

Posix.Utime.pas

Posix.Wchar.pas

Posix.Wctype.pas

Posix.Wordexp.pas

There is More Than RTL

This list does not include units outside of the core RTL. which include FireDAC, DataSnap, EMS, WebBroker, Indy, and DunitX.

The new version of Delphi is bringing to the Linux platform a lot of technology. True, there is no ready-to-use GUI support, but there is lot of keep developers happy.

 

 

 

 

 



About
Gold User, Rank: 7, Points: 457
Delphi and RAD Studio Product Manager at Embarcadero.

Comments

Check out more tips and tricks in this development video: