Reference Search Path XMLs
In addition to automatically knowing where to locate reference files available as part of the core platforms, the Elements compiler toolchain employs a system of XML files to let it know where to locate referenced libraries.
Some of these XML files will be created by the Elements install itself, by third party libraries registering themselves with Elements, and you can also configure your own paths to let Elements find references you use frequently, without having to rely on Hint Paths.
On Windows, Elements will look for these files in
%APPDATA%\RemObjects Software\Elements\Reference Paths and
%ProgramData%\RemObjects Software\Elements\Reference Paths.
On Mac, it will look in the subfolder
RemObjects Software/Elements/Reference Paths under both
~/Library/Application Support for the current user and the system-wide
/Library/Application Support folders. When building from inside of Fire, the compiler will also look at a dedicated set of references provided inside of the Fire .app bundle.
Underneath these folders, the compiler will look in platform-specific subfolders, namely:
as those are the internal codenames for the respective platforms. Any
.xml file in these folders will be looked at for potential reference paths. For each platform, the compiler will also look in specific subfolders for reference paths for a particular sub-platform. These are:
Echoes/Full– for full .NET framework references
Echoes/NETStandard– for .NET Standard references
Echoes/Silverlight– for Silverlight-only .NET references
Cooper/Android– for Android-only Java references
Cooper/Plain– for non-Android-only Java references
Toffee/iOS– for iOS-only Cocoa references
Toffee/macOS– for Mac-only Cocoa references
Toffee/tvOS– for Mac-only Cocoa references
Toffee/watchOS– for Mac-only Cocoa references
Island/Linux– for Linux-specific Island referenes
Island/Windows– for Windows-specific Island references
Island/Android– for Android NDK-specific Island references
Island/WebAssembly– for WebAssembly-specific Island references
The format of the XML files is as follows, where any number of
<path> entries may be provided, and the Name value is purely for display purposes:
<?xml version="1.0" standalone="no"?> <paths> <path name="Sugar for .NET">/Users/mh/Code/git/Oxygene/Bin/Sugar/Echoes</path> </paths>
Reference Paths in the IDE
In Fire and Water, you can view the currently configured reference paths (including those set by Fire itself) on the "Reference Paths" tab of the Preferences dialog:
Broken/missing folders will be shown in red, and double-clicking a valid entry will open the corresponding folder in Finder or Windows Explorer. In the screenshot above, you see that Elements is looking at both externally registered locations from
~Library (indicated by the "(User)" suffix), as well as those inside Fire (indicated by "(Fire)").
You will also be able to add custom paths via this dialog.
In Visual Studio, you can view and configure reference paths in the "Tools|Options" dialog, under "Projects and Solutions|RemObjects Elements|Reference Paths" in the tree: