mnit simple : apparently, you can't name a sound file "sound"
[nit.git] / src / platform.nit
index 80aab8b..5b7f7a5 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Platform system, used to customize the behavior of the compiler according
-# to the target platform. Also detects conflicts between targetted platforms.
+# Platform system, used to customize the behavior of the compiler.
+#
+# Customisation is done accordingly to the target platform.
+# Also detects conflicts between targeted platforms.
 module platform
 
 import modelize
@@ -83,7 +85,7 @@ end
 redef class MModule
        private var local_target_platform: nullable Platform = null
 
-       # Recusively get the platform targetted by this module or imported modules
+       # Recursively get the platform targeted by this module or imported modules
        fun target_platform: nullable Platform
        do
                var ltp = local_target_platform
@@ -101,11 +103,16 @@ end
 # Sub-classes of `Platform` represent the target platform of a compilation
 #
 # Services will be added to this class in other modules.
-abstract class Platform
+class Platform
+       # Does the platform provide and support the library `unwind`?
        fun supports_libunwind: Bool do return true
 
+       # Does the platform provide and supports the Boehm's GC library?
        fun supports_libgc: Bool do return true
 
        # Does this platform declare its own main function? If so, we won't generate one in Nit.
        fun no_main: Bool do return false
+
+       # Does the platform accepts linker scripts?
+       fun supports_linker_script: Bool do return true
 end