summaryrefslogtreecommitdiff
path: root/rld-cc.h
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2012-09-17 10:13:55 +1000
committerChris Johns <chrisj@rtems.org>2012-09-17 10:13:55 +1000
commit52e87a2ca7915918231aac27a6c4d5ed49aeee17 (patch)
treee33816eb44ea3a42de62d2314284891328a78250 /rld-cc.h
parent670c5a84c1456197b52e34e3508d707cf51b195a (diff)
Rename rld-gcc. Add -C option.
Add a -C (also --cc) option to allow the CC to be used when linking to be provided by the user rather than using the path. This support allows user who work with the full path to tools rather than the environment to make use of the linker without them needing to play with environment table. Rename rld-gcc.[h.cpp] to rld-cc.[h,cpp] because gcc may not be the only compiler/linker used by the RTEMS project.
Diffstat (limited to 'rld-cc.h')
-rw-r--r--rld-cc.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/rld-cc.h b/rld-cc.h
new file mode 100644
index 0000000..a914b2f
--- /dev/null
+++ b/rld-cc.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2011-2012, 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>
+
+namespace rld
+{
+ namespace cc
+ {
+ extern std::string cc; //< The CC executable.
+ extern std::string exec_prefix; //< The CC executable prefix.
+ extern std::string march; //< The CC machine architecture.
+ extern std::string mcpu; //< The CC machine CPU.
+
+ extern std::string install_path; //< The CC reported install path.
+ extern std::string programs_path; //< The CC reported programs path.
+ extern std::string libraries_path; //< The CC reported libraries path.
+
+ /**
+ * Get the standard libraries paths from the compiler.
+ */
+ void get_standard_libpaths (rld::files::paths& libpaths);
+
+ /**
+ * Get the standard libraries. Optionally add the C++ library.
+ */
+ void get_standard_libs (rld::files::paths& libs,
+ rld::files::paths& libpaths,
+ bool cpp = false);
+
+ }
+}
+
+#endif