summaryrefslogtreecommitdiff
path: root/solenv/doc/gbuild/solenv/gbuild/types.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/doc/gbuild/solenv/gbuild/types.mk')
-rw-r--r--solenv/doc/gbuild/solenv/gbuild/types.mk169
1 files changed, 0 insertions, 169 deletions
diff --git a/solenv/doc/gbuild/solenv/gbuild/types.mk b/solenv/doc/gbuild/solenv/gbuild/types.mk
deleted file mode 100644
index ecb736834..000000000
--- a/solenv/doc/gbuild/solenv/gbuild/types.mk
+++ /dev/null
@@ -1,169 +0,0 @@
-namespace gb {
- class CObject;
- class CxxObject;
- class Library;
- class StaticLibrary;
- class Package;
- class SdiTarget;
-};
-
-namespace gb { namespace types
-{
- /// A type of target, with its set of rules etc., as used in the build system.
- class TargetType {};
- /// A plain old string.
- class String {};
- /// A partial, relative or absolute filesystem path.
- class Path {};
- /// A target to be build.
- class Target
- {
- public:
- /// The absolute filesystem path representing the target.
-
- /// This function needs to be defined in solenv/gbuild/target_names.mk so that it is available to everywhere.
- Path get_target();
- };
- /// A partial or complete shell-command.
- class Command {};
- /// A integer number.
- class Integer {};
- /// A boolean value.
-
- /// There are const boolean values true and false for
- /// comparisons (written as $(true) and $(false) in makefiles.
- class Bool {};
- /// A language (for localisation)
-
- /// A language represented by its ISO 639-1:2002 code.
- class Language {};
- /// A List of objects.
-
- /// A List of objects represented by a whitespace separated list
- /// in makefiles.
- template <typename T>
- class List<T> {};
-
- /// A Mapping from with a key of type K and a value of type V
-
- /// A Mapping is represented by a whitespace separated list
- /// of key-value pairs. Key and value are separated by a colon (:).
- template <typename K, typename V>
- class Map<K,V> {};
- /// A target that can be cleaned.
- class IsCleanable
- {
- public:
- /// The (phony) absolute filesystem path to clean the target.
-
- /// This function needs to be defined in solenv/gbuild/target_names.mk so that it is available to everywhere.
- Path get_clean_target();
- };
- /// A target that has generated dependencies.
- class HasDependencies
- {
- public:
- /// The absolute filesystem path to the file containing the dependencies.
-
- /// This function needs to be defined in solenv/gbuild/target_names.mk so that it is available to everywhere.
- Path get_dep_target();
- };
- /// A target that has a source file from which it is generated.
- class HasSource
- {
- public:
- /// The absolute filesystem path to the source file.
- Path get_source();
- };
- /// A target that links objects and libraries.
- class IsLinking
- {
- public:
- /// Add a CObject to be compiled and linked.
- void add_cobject(CObject cobject);
- /// Add multiple CObject s to be compiled and linked.
- void add_cobjects(List<CObject> cobjects);
- /// Add a CxxObject to be compiled and linked.
- void add_cxxobject(CxxObject cobject);
- /// Add multiple CxxObject s to be compiled and linked.
- void add_cxxobjects(List<CxxObject> cobjects);
- /// Add multiple CxxObject s to be compiled and linked (with exceptions enabled).
- void add_exception_objects(List<CxxObject> cobject);
- /// Add libraries to link against dynamically.
- void add_linked_libs(List<Library> linked_libs);
- /// Add libraries to link against statically.
- void add_linked_static_libs(List<StaticLibrary> linked_static_libs);
- /// Add multiple CxxObject s to be compiled and linked (without exceptions enabled).
- /// @deprecated We should not care about disabling exception.
- void add_noexception_objects(List<CxxObject> cobject);
- /// Set auxiliary files that are produced by linking (for cleanup and copying).
- void set_auxtargets(List<Path> auxtargets);
- /// Set the location for the produced DLL (used on Windows only).
- void set_dll_target(Path dlltarget);
- /// Set additional flags for the link command.
- void set_ldflags(List<Path> ldflags);
- };
- /// A target that delivers headers of some kind.
- class DeliversHeaders
- {
- public:
- /// The absolute filesystem path which is touched when all headers for this target are prepared.
-
- /// This function needs to be defined in solenv/gbuild/target_names.mk so that it is available to everywhere.
- Path get_headers_target();
- /// The absolute filesystem path which is touched when all external headers for this target are prepared.
-
- /// This function needs to be defined in solenv/gbuild/target_names.mk so that it is available to everywhere.
- Path get_external_headers_target();
- /// Add multiple Packages that need to be delivered/generated
- /// before compilation or dependency generation can start.
- void add_package_headers(List<Package> packages);
- /// Add multiple SdiTargets that need to be delivered/generated
- /// before compilation or dependency generation can start.
- void add_sdi_headers(List<SdiTarget> sdis);
- };
- /// A target where settings for the compilation can be set.
- class HasCompileSettings
- {
- public:
- /// Sets flags for plain C compilation.
- /// \$\$(CFLAGS) contains the current flags and can be used if
- /// just a few need to be modified.
- void set_cflags(List<String> cflags);
- /// Sets flags for C++ compilation.
- /// \$\$(CXXFLAGS) contains the current flags and can be used if
- /// just a few need to be modified.
- void set_cxxflags(List<String> cxxflags);
- /// Sets defines for C/C++ compilation.
- /// \$\$(DEFS) contains the current flags and can be used if
- /// just a few need to be modified.
- void set_defs(List<String> defs);
- /// Sets the include paths for C/C++ compilation.
- /// \$\$(INCLUDE) contains the current paths and can be used if
- /// just a few need to be modified.
- void set_include(List<Path> include);
- /// Sets the stl include paths for C++ compilation.
- /// \$\$(INCLUDE_STL) contains the current paths and can be used if
- /// just a few need to be modified.
- void set_include_stl(List<Path> include_stl);
- };
- /// A target using the resource compiler
- class UsesRsc
- {
- public:
- /// The command to execute rsc.
- static const Command RSCCOMMAND;
- /// The target on with to depend to make sure the rsc executable is available.
- static const Path RSCTARGET;
- };
- /// A target processing a set of srs files
- class HasSrs
- {
- public:
- /// Add a SrsTarget to be processed.
- void add_one_srs(SrsTarget srs);
- /// Add multiple SrsTarget s to be processed.
- void add_srs(List<SrsTarget> srs);
- };
-}};
-/* vim: set filetype=cpp : */