Classes | |
class | CollectionOfIncludePaths |
class | CxxParameters |
class | DynamicLibraryProject |
class | wxWidgets |
Packages | |
package | GCC |
Enumerations | |
enum | CxxLibraries |
enum | CxxOptimization |
enum | CxxWarningLevel |
enum | wxStyles |
This is an enumeration for the platform independent notation of libraries that shall be linked in order to build a project. Operating systems and development environments usually provide a large number of optional components that might be linked to the built program if required. This enumeration provides a small collection of abstract notations for such options that may be used in CxxParameters to describe platform independent some libraries that shall be linked. The conversion of these enumerations into concrete "link with" directives will be done by the implementations of the actions.
The idea is to enable portable programs to be compiled for different platforms using the same build project definition. However, the program unfortunately has still to be portable, i.e. use conditional compilation to adopt itself to different platforms. Another viable option is to use portable frameworks like wxWidgets.
wxWidgets is not mentioned here, since libraries and paths shall not be determined by a specific tool. The handling of wxWidgets is quite the same for all compilers (operating on a particular platform). For example MS Visual Studio compilers and linkers will access wxWidgets in rather the same way as MingW will do. These flags will be interpreted by the particular tool. So, wxWidgets is rather its own tool than a flag in this enumeration.
NoStdLibraries | This is not a flag but a name for the absence of any flag. The absence of any standard lib flag will usually be translated into flags that tell compiler and linker to ignore standard libraries. |
BasicCLibraries |
This tells linker to link with a library providing basic C functions. Typically, this enables libc .so and libm .so (Unix). The MS VC compiler tells already the compiler to link for a specific implementation of this class of functions. |
BasicCPlusPlusLibraries | Libraries of basic C++ functionality typically only usable in C++ compilation mode (mangled symbols). This includes implementations of the STL. |
GeneralOSLibraries |
Libraries providing basic access to the operating system. On MS Windows, this includes kernel32 .lib, user32 .lib, shell32 .lib, advapi32 .lib, ole32 .lib, oleaut32 .lib. |
GDILibraries |
Libraries supporting standard graphical user interfaces. Under MS Windows, this includes gdi32 .lib, gdiplus .lib, comdlg32 .lib, comctl32 .lib but no MFC stuff. Under Unix, this will comprise X Windows and Gnome libraries. |
TcpAndRpcLibraries |
Libraries providing access to basic remoting and networking capabilities. On MS Windows, this includes rpcrt4 .lib, wsock32 .lib. |
Used to represent the desired degree of optimization in CxxCompilerParameters.
Warning levels in CxxCompilerParameters.
Bit-vektor of options of the wxWidgets library.
Unspecified | Use this if you do not want to specify something explicitely. |
Use_Unicode | This will enforce use of the libraries supporting Unicode. Please note, that this can be overloaded by defining variable WXUNICODE. |
Use_StyledtextControl | This will include the contributed STC implementation. |
Use_GccLibraries |
Tells the project to include GCC libraries. Users are not obliged to specify this style. It will be specified implicitely, if nothing in Platform_Constraints has been defined. |
Use_CoffLibraries |
Tells the project to include libraries that fit the MS VC++ compiler and linker. Users are not obliged to specify this style. It will be specified implicitely, if nothing in Platform_Constraints has been defined. |
Use_StaticLibs |
Under Linux this tells this module to use static libs. This corresponds to wx-config --static=yes . Please note, that wxWidgets by default consists of position dependant code when compiled to a static lib. You must explicitely add -fPIC to the CXX_FLAGS if you use this feature since libwx-c.so must be a dynamic library that must be position independant. |
Platform_Constraints | This is the combination of all bits referring to the platform. Use this if you expect that the wxWidgets installation has been compiled for any supported platform. |
Features |
Use this if you suspect the wxWidgets installation to be compiled with optimal features.
This currently assumes Unicode use and STC support. |