summaryrefslogtreecommitdiff
path: root/linkers/rld-cc.h
diff options
context:
space:
mode:
Diffstat (limited to 'linkers/rld-cc.h')
-rw-r--r--linkers/rld-cc.h215
1 files changed, 0 insertions, 215 deletions
diff --git a/linkers/rld-cc.h b/linkers/rld-cc.h
deleted file mode 100644
index 6c200d2..0000000
--- a/linkers/rld-cc.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 2011-2014, Chris Johns <chrisj@rtems.org>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-/**
- * @file
- *
- * @ingroup rtems-ld
- *
- * @brief Various calls to CC.
- *
- */
-
-#if !defined (_RLD_CC_H_)
-#define _RLD_CC_H_
-
-#include <string>
-
-#include <rld-files.h>
-#include <rld-process.h>
-
-namespace rld
-{
- namespace cc
- {
- /*
- * The type of flags.
- */
- enum flag_type
- {
- ft_cppflags = 1 << 0,
- ft_cflags = 1 << 1,
- ft_cxxflags = 1 << 2,
- ft_ldflags = 1 << 3
- };
-
- /*
- * Flags groups.
- */
- enum flag_group
- {
- fg_warning_flags,
- fg_include_flags,
- fg_machine_flags,
- fg_spec_flags
- };
-
- /**
- * Strip the flags of -O and -g options.
- *
- * @param flags The flags a space delimited list to strip.
- * @return const std::string The stripped flags.
- */
- const std::string strip_cflags (const std::string& flags);
-
- /**
- * Filter the flags. Provide the type of flags being passed, the flags as a
- * space separated list, the architure, and a path. Provide strings
- * containers for the different flag groups so they can be sorted and
- * returned.
- *
- * @param flags The flags a space delimited list to strip.
- * @param arch The architecure per the OS specific name.
- * @param path A path to adjust based on the architecture.
- * @param type The type of flags being passed.
- * @param warnings Return warning flags in this string.
- * @param includes Return include flags in this string.
- * @param machines Return machine flags in this string.
- * @param specs Return spec flags in this string.
- * @return const std::string The filtered flags.
- */
- const std::string filter_flags (const std::string& flags,
- const std::string& arch,
- const std::string& path,
- flag_type type,
- std::string& warnings,
- std::string& includes,
- std::string& machines,
- std::string& specs);
-
- /**
- * Filter the cflags and update the warnings, includes, machines and specs
- * if the type of flags is cflags. Provide the cflags as a space separated
- * list, the architure, and a path.
- *
- * @param flags The flags a space delimited list to strip.
- * @param arch The architecure per the OS specific name.
- * @param path A path to adjust based on the architecture.
- * @param type The type of flags being passed.
- * @return const std::string The filtered flags.
- */
- const std::string filter_flags (const std::string& flags,
- const std::string& arch,
- const std::string& path,
- flag_type type);
-
- /**
- * Set CC. The exec-prefix is ignored if this is set.
- */
- void set_cc (const std::string& cc);
-
- /**
- * Get the CC.
- */
- const std::string get_cc ();
-
- /**
- * Is the CC set ?
- */
- bool is_cc_set ();
-
- /**
- * Set LD. The exec-prefix is ignored if this is set.
- */
- void set_ld (const std::string& ld);
-
- /**
- * Get the LD.
- */
- const std::string get_ld ();
-
- /**
- * Is the LD set ?
- */
- bool is_ld_set ();
-
- /**
- * Set the exec-prefix. If CC is set the exec-prefix is ignored.
- */
- void set_exec_prefix (const std::string& exec_prefix);
-
- /**
- * Get the exec-prefix.
- */
- const std::string get_exec_prefix ();
-
- /**
- * Is exec-prefix set ?
- */
- bool is_exec_prefix_set ();
-
- /**
- * Set the flags with a specific arch and include path.
- */
- void set_flags (const std::string& flags,
- const std::string& arch,
- const std::string& path,
- flag_type type);
-
- /**
- * Set the flags.
- */
- void set_flags (const std::string& flags, flag_type type);
-
- /**
- * Append the flags with a specific arch and include path.
- */
- void append_flags (const std::string& flags,
- const std::string& arch,
- const std::string& path,
- flag_type type);
-
- /**
- * Append the flags.
- */
- void append_flags (const std::string& flags, flag_type type);
-
- /**
- * Get the flags.
- */
- const std::string get_flags (flag_type type);
- const std::string get_flags (flag_group group);
-
- /**
- * Append the flags if set.
- */
- void append_flags (flag_type type, rld::process::arg_container& args);
-
- /**
- * Make a CC command from the set arguments.
- */
- void make_cc_command (rld::process::arg_container& args);
-
- /**
- * Make a LD command from the set arguments.
- */
- void make_ld_command (rld::process::arg_container& args);
-
- /**
- * Get the standard libraries paths from the compiler.
- */
- void get_standard_libpaths (rld::path::paths& libpaths);
-
- /**
- * Get the standard libraries. Optionally add the C++ library.
- */
- void get_standard_libs (rld::path::paths& libs,
- rld::path::paths& libpaths,
- bool cpp = false);
-
- }
-}
-
-#endif