class SoftwarePackage

Attributes

inc_dirs_depends_prepared[R]
inc_dirs_prepared[R]
obj_files_prepared[R]

All source-extensions replaced with the configured obj-extension

src_files_prepared[R]

All sources prepared with root directory added

Public Class Methods

new(recipe_file) click to toggle source
# File scripts/package.rb, line 275
def initialize(recipe_file)
    default_setup_identifiers(recipe_file)
    default_setup_settables()

    load_package(recipe_file)

    @src_files_prepared = []
    @obj_files_prepared = []

    @inc_dirs_prepared = []
    @inc_dirs_depends_prepared = []

    @uri[0].parse_uri()

    # Make sanity checks here:
    check_duplicates_exit_with_error(deps, "deps in package #{name}")
    check_duplicates_exit_with_error(srcs, "srcs in package #{name}")

    extend DownloadPackage
    extend PreparePackageBuildDir
    extend Patch
    extend Compile
    extend Link
    extend Image
end

Public Instance Methods

invalidate_build_funcs() click to toggle source
# File scripts/package.rb, line 307
def invalidate_build_funcs
    self.override_func :do_compile_clean do
        print_abort("not implemented")
    end

    self.override_func :do_compile do
        print_abort("not implemented")
    end

    self.override_func :do_link_clean do
        print_abort("not implemented")
    end

    self.override_func :do_link do |objs|
        print_abort("not implemented")
    end

    self.override_func :do_make_bin do
        print_abort("not implemented")
    end

    self.override_func :do_make_hex do
        print_abort("not implemented")
    end
end
load_package(recipe_file) click to toggle source
# File scripts/package.rb, line 265
def load_package(recipe_file)
    # OK, we are done with the default setup, now load the recipe file and setup internals
    sw_package_set(self)
    load "./#{recipe_file}"

    # override the above defined function here, this way it is possible
    # to use "sw_package." in the method context also (for e.g if custom build methods are used)
    def sw_package; return self; end
end
override_func(name, &block) click to toggle source
# File scripts/package.rb, line 301
def override_func(name, &block)
    (class << self; self; end).class_eval do
    define_method name, &block
    end
end
sw_package() click to toggle source

override the above defined function here, this way it is possible to use “sw_package.” in the method context also (for e.g if custom build methods are used)

# File scripts/package.rb, line 272
def sw_package; return self; end