# File lib/rake/extensiontask.rb, line 51
    def define
      if (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ironruby')
        warn_once "WARNING: You're attempting to (cross-)compile C extensions from a platform\n(\#{RUBY_ENGINE}) that does not support native extensions or mkmf.rb.\nRerun `rake` under MRI Ruby 1.8.x/1.9.x to cross/native compile.\n"
        return
      end

      super

      unless compiled_files.empty?
        warn "WARNING: rake-compiler found compiled files in '#{@ext_dir}' directory. Please remove them."
      end

      # only gems with 'ruby' platforms are allowed to define native tasks
      define_native_tasks if !@no_native && (@gem_spec && @gem_spec.platform == 'ruby')

      # only define cross platform functionality when enabled
      return unless @cross_compile

      if cross_platform.is_a?(Array) then
        cross_platform.each { |platf| define_cross_platform_tasks(platf) }
      else
        define_cross_platform_tasks(cross_platform)
      end
    end