diff options
author | Chris Cleeland <chris.cleeland@gmail.com> | 2010-06-28 20:44:06 +0000 |
---|---|---|
committer | Chris Cleeland <chris.cleeland@gmail.com> | 2010-06-28 20:44:06 +0000 |
commit | 76f0ccefb8b3a390cc32a861ab22da4e722bda50 (patch) | |
tree | adaeb32da9f19a7bc766a9d10a2d4e48970d714c /templates/cdt6platforms.mpt | |
parent | e0a671d84f8f017fb06b23fe584f97007ae5aaf4 (diff) | |
download | MPC-76f0ccefb8b3a390cc32a861ab22da4e722bda50.tar.gz |
Commit of EXPERIMENTAL release for CDT6 project type generator.
Diffstat (limited to 'templates/cdt6platforms.mpt')
-rw-r--r-- | templates/cdt6platforms.mpt | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/templates/cdt6platforms.mpt b/templates/cdt6platforms.mpt new file mode 100644 index 00000000..95fb5865 --- /dev/null +++ b/templates/cdt6platforms.mpt @@ -0,0 +1,170 @@ +// -*- MPC -*- +// +// Any of these platforms can be set using +// -value_template platforms="blah blah blah" +// when generating a CDT project/workspace combo. The default is to use the +// platform that matches the host that's running MPC (see fill_value() in +// CDT6ProjectCreator.pm). +// + +// +// Platforms +// + +conditional_include "common" +conditional_include "unixcommon" // We include this at the global b/c most + // platforms are unix-ish. windowscommon + // overrides these in the relevant scopes. + +// These will have platform_specializer appended if it's defined +configuration_parent_root = cdt.managedbuild.config.gnu +toolchain_superclass_root = cdt.managedbuild.toolchain.gnu +toolchain_internal_builder_root = cdt.managedbuild.target.gnu.builder +targetplatform_superclass = cdt.managedbuild.target.gnu.platform +outputtype_superclass = cdt.managedbuild.tool.gnu.cpp.linker.so.debug.output + +// These are just defaults +exe_ext_nodot = +dll_ext_nodot = so +lib_ext_nodot = a +tool_name_prefix = GNU +c_linker_tool_superclass_root = cdt.managedbuild.tool.gnu.c.linker // must have .so.debug appended +cpp_linker_tool_superclass_root = cdt.managedbuild.tool.gnu.cpp.linker // must have .so.debug appended +linker_option_superclass = gnu.cpp.link.option // must have .XXX appended +cpp_compiler_option_superclass = gnu.cpp.compiler.option +c_compiler_superclass = ??? +c_compiler_option_superclass = gnu.c.compiler.option +project_element_type_id = cdt.managedbuild.target.gnu +c_linker_dynamiclib_superclass = gnu.c.link.so.debug.option.shared +cpp_linker_dynamiclib_superclass = gnu.cpp.link.so.debug.option.shared +cpp_linker_tool_input_superclass = cdt.managedbuild.tool.gnu.cpp.linker.input + +linux { + binary_parsers = org.eclipse.cdt.core.ELF + error_parsers = org.eclipse.cdt.core.GASErrorParser org.eclipse.cdt.core.GLDErrorParser org.eclipse.cdt.core.GCCErrorParser + threadflags = -pthread + platform_libs += rt dl +} + +// This scope serves as an example of a custom platform. On 64-bit linux, +// you can compile a 32-bit binary by passing -m32 to gcc. Using this custom +// platform, MPC can generate CDT projects that have "Build Configurations" +// for both 64-bit and 32-bit. This would be enabled by running mwc.pl with +// -value_template platforms="linux linux_m32" +linux_m32 { + binary_parsers = org.eclipse.cdt.core.ELF + error_parsers = org.eclipse.cdt.core.GASErrorParser org.eclipse.cdt.core.GLDErrorParser org.eclipse.cdt.core.GCCErrorParser + ccflags += -m32 + cxxflags += -m32 + linkflags += -m32 + threadflags = -pthread + platform_libs += rt dl +} + +macosx { + dll_ext = .dylib + exe_ext_nodot = + dll_ext_nodot = dylib + lib_ext_nodot = a + + binary_parsers = org.eclipse.cdt.core.MachO64 + error_parsers = org.eclipse.cdt.core.GASErrorParser org.eclipse.cdt.core.GLDErrorParser org.eclipse.cdt.core.GCCErrorParser + host_platform = host_macosx + project_element_type_id = cdt.managedbuild.target.macosx + // platform_specializer gets added on to various things like configuration_parent_root, etc. + configuration_parent_root = cdt.managedbuild.config + platform_specializer = macosx + tool_name_prefix = "MacOS X" + linker_option_superclass = macosx.cpp.link.option + c_linker_dynamiclib_superclass = macosx.c.link.macosx.so.debug.option.shared + cpp_linker_dynamiclib_superclass = macosx.cpp.link.macosx.so.debug.option.shared + c_linker_tool_superclass_root = cdt.managedbuild.tool.macosx.c.linker.macosx // must have .so.debug appended + cpp_linker_tool_superclass_root = cdt.managedbuild.tool.macosx.cpp.linker.macosx // must have .so.debug appended +cpp_linker_tool_input_superclass = cdt.managedbuild.tool.macosx.cpp.linker.input + outputtype_superclass = cdt.managedbuild.tool.macosx.cpp.linker.output.so +} + +win32 { + conditional_include "windowscommon" + + lib_prefix = lib // this is different from VC++ b/c we're using mingw + + exe_ext_nodot = exe + dll_ext_nodot = dll + lib_ext_nodot = lib + + platform_libs = + threadflags = -mthreads + + binary_parsers = org.eclipse.cdt.core.PE + error_parsers = org.eclipse.cdt.core.GASErrorParser org.eclipse.cdt.core.GLDErrorParser org.eclipse.cdt.core.GCCErrorParser + host_platform = host_win32 + project_element_type_id = cdt.managedbuild.target.gnu.mingw + platform_specializer = mingw + tool_name_prefix = MinGW + linker_option_superclass = gnu.cpp.link.option // must have .XXX appended + c_compiler_superclass = cdt.managedbuild.tool.gnu.c.compiler.mingw + c_linker_dynamiclib_superclass = gnu.c.link.mingw.so.debug.option.shared + cpp_linker_dynamiclib_superclass = gnu.cpp.link.mingw.so.debug.option.shared + c_linker_tool_superclass_root = cdt.managedbuild.tool.gnu.c.linker.mingw // must have .so.debug appended + cpp_linker_tool_superclass_root = cdt.managedbuild.tool.gnu.cpp.linker.mingw // must have .so.debug appended + cpp_linker_tool_input_superclass = cdt.managedbuild.tool.mingw.cpp.linker.input +} + +cygwin { + binary_parsers = org.eclipse.cdt.core.PE + error_parsers = org.eclipse.cdt.core.GASErrorParser org.eclipse.cdt.core.GLDErrorParser org.eclipse.cdt.core.GCCErrorParser + host_platform = host_win32 + platform_specializer = cygwin +} + +solaris { + binary_parsers = org.eclipse.cdt.core.ELF + error_parsers = org.eclipse.cdt.core.GASErrorParser org.eclipse.cdt.core.GLDErrorParser org.eclipse.cdt.core.GCCErrorParser + platform_specializer = solaris +} + +// default values for the host-specific variables, overridden below +host_platform = linux +libenv = LD_LIBRARY_PATH +shell = sh +script_ext = .sh +script_hdr = #!/bin/sh +script_tmpfile = temporary$$.src +makefile_tmpfile = temporary$$$$.src +setenv = export +envvar_pre = $ +pathsep = : +quote_echo = ' +ln = ln -sf + +host_macosx { + libenv = DYLD_LIBRARY_PATH +} + +host_win32 { + libenv = PATH + shell = cmd /c + script_ext = .cmd + script_hdr = "@echo off & set TMPFILE=temporary%RANDOM%.src" + script_tmpfile = %TMPFILE% + makefile_tmpfile = temporary_mpc.src + setenv = set + envvar_pre = % + envvar_post = % + pathsep = ; + mkdir_pre = if not exist + ln = copy /y + quote_echo = +} + +// Abstractions for different configurations +release { + optimization_level = max + debugging_level = none +} + +debug { + optimization_level = none + debugging_level = max +}
\ No newline at end of file |