Exemplo n.º 1
0
    def Action(self):
        """
        parse all Source objects, link flags and libs
        """
        Target.Action(self)
        # if local flags is empty, use global flags of module(env)
        if not self.link_options:
            self.link_options = self.env.LDFlags().V()

        self.builder = Builder.BinBuilder(self.outfile, self.objects,
                                          self.libs, self.link_options,
                                          self.compiler, self.env.Workspace())
Exemplo n.º 2
0
    def test_BinBuilder(self):
        """
        test BinBuilder
        """
        obj = 'broc_out/a/b/c/test'
        dep_objs = ['a/b/c/fun.o', 'a/b/c/util.o']
        dep_libs = [
            'broc_out/a/b/d/output/lib/libfun.a',
            'broc_out/a/b/d/output/lib/libutil.a'
        ]
        dep_links = ['-DBROC', '-Werror', '-Wpublick=private']
        compiler = '/usr/bin/g++'
        right_cmd = "mkdir -p broc_out/a/b/c && /usr/bin/g++ \\\n\t-DBROC \\\n\t-o \
\\\n\tbroc_out/a/b/c/test \\\n\ta/b/c/fun.o \\\n\ta/b/c/util.o \\\n\t-DBROC \\\n\t-Werror \
\\\n\t-Wpublick=private \\\n\t-Xlinker \\\n\t\"-(\" \\\n\t\tbroc_out/a/b/d/output/lib/libfun.a \
\\\n\t\tbroc_out/a/b/d/output/lib/libutil.a \\\n\t-Xlinker \\\n\t\"-)\""

        builder = Builder.BinBuilder(obj, dep_objs, dep_libs, dep_links,
                                     compiler, '.')
        self.assertEqual(right_cmd, builder.GetBuildCmd())