fltk.core.pkg_config

FLTK pkg-config and fltk-config Probing Module

This module provides functionality to query pkg-config and fltk-config for FLTK library configuration, including compiler flags, linker flags, include paths, and library paths.

The module supports probing for:

  • fltk (core library)
  • fltk-images (image loading library)
  • fltk-gl (OpenGL support library)

    Authors

    Dejan Lekić

    License

    BSD-3-Clause

Types 4

Enumeration of FLTK library components.

CORECore FLTK library
IMAGESFLTK images library for image format support
GLFLTK OpenGL library

Holds configuration information for an FLTK component.

Contains compiler flags, linker flags, include paths, library paths, and library names extracted from pkg-config or fltk-config.

Fields
Component componentThe component this configuration is for
bool availableWhether this component is available on the system
string versionStrVersion string of the component (if available)
string[] cflagsCompiler flags (CFLAGS)
string[] ldflagsLinker flags (LDFLAGS)
string[] includePathsInclude directories extracted from cflags (-I paths)
string[] libPathsLibrary directories extracted from ldflags (-L paths)
string[] libsLibrary names extracted from ldflags (-l names)
Methods
string cflagsString() constReturns all flags as a single string suitable for passing to compiler.
string ldflagsString() constReturns all linker flags as a single string.
structConfig

Holds configuration for all FLTK components.

Fields
ComponentConfig coreCore FLTK library configuration
ComponentConfig imagesFLTK images library configuration
ComponentConfig glFLTK OpenGL library configuration
Methods
bool isCoreAvailable() constChecks if core FLTK is available.
bool isImagesAvailable() constChecks if FLTK images library is available.
bool isGlAvailable() constChecks if FLTK OpenGL library is available.
string[] allIncludePaths() constReturns combined include paths from all available components.
string[] allLibPaths() constReturns combined library paths from all available components.
string[] allLibs() constReturns combined library names from all available components.

Enumeration of configuration source types.

PKG_CONFIGConfiguration obtained from pkg-config
FLTK_CONFIGConfiguration obtained from fltk-config
NONENo configuration source available

Functions 11

fnstring pkgConfigName(Component component)Returns the pkg-config package name for an FLTK component.
private fnauto executeCommand(string[] args)Executes a command and returns its output if successful.
fnvoid parseFlags( string flags, out string[] includePaths, out string[] libPaths, out string[] libs )Parses flags string into include paths, library paths, and library names.
fnComponentConfig queryPkgConfig(Component component)Queries pkg-config for a specific FLTK component.
fnComponentConfig queryFltkConfig(Component component)Queries fltk-config for library configuration.
fnComponentConfig probeComponent(Component component)Probes for FLTK component configuration using all available methods.
private fnstring[] uniquePaths(string[] paths)Removes duplicate entries from a path array while preserving order.
fnConfig probeFltkConfig()Probes for all FLTK components and returns combined configuration.
fnbool isPkgConfigAvailable()Checks if pkg-config is available on the system.
fnbool isFltkConfigAvailable()Checks if fltk-config is available on the system.
fnConfigSource detectConfigSource()Determines the best available configuration source.