Welcome to mirror list, hosted at ThFree Co, Russian Federation.

SConscript « typename_mangling « tests - github.com/nanopb/nanopb.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ee750ef26863dc8221def69d3b0d5dd0cb9fdfb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Test mangle_names option

Import('env')

def set_mangling(type):
    def command(target, source, env):
        with open(str(source[0])) as src, open(str(target[0]), "w") as dst:
            dst.write("* mangle_names:{}\n".format(type))
            dst.write(src.read())
    return command

env.Command("strip_package.options", "with_package.options", set_mangling("M_STRIP_PACKAGE"))
env.Command("strip_package.proto", "with_package.proto", Copy("$TARGET", "$SOURCE"))
env.NanopbProto(["strip_package", "strip_package.options"])
env.Program(["test_strip_package.c", "strip_package.pb.c", '$COMMON/pb_common.o'])

env.Command("strip_package_a.options", "with_package.options", set_mangling("M_STRIP_PACKAGE"))
env.Command("strip_package_b.options", "with_package.options", set_mangling("M_STRIP_PACKAGE"))
env.Command("strip_package_a.proto", "with_package_a.proto", Copy("$TARGET", "$SOURCE"))
env.Command("strip_package_b.proto", "with_package_b.proto", Copy("$TARGET", "$SOURCE"))
env.NanopbProto(["strip_package_a", "strip_package_a.options"])
env.NanopbProto(["strip_package_b", "strip_package_b.options"])
env.Program(["test_strip_package_dependencies.c", "strip_package_a.pb.c", "strip_package_b.pb.c", '$COMMON/pb_common.o'])

env.Command("flatten.options", "with_package.options", set_mangling("M_FLATTEN"))
env.Command("flatten.proto", "with_package.proto", Copy("$TARGET", "$SOURCE"))
env.NanopbProto(["flatten", "flatten.options"])
env.Program(["test_flatten.c", "flatten.pb.c", '$COMMON/pb_common.o'])

env.Command("package_initials.options", "with_package.options", set_mangling("M_PACKAGE_INITIALS"))
env.Command("package_initials.proto", "with_package.proto", Copy("$TARGET", "$SOURCE"))
env.NanopbProto(["package_initials", "package_initials.options"])
env.Program(["test_package_initials.c", "package_initials.pb.c", '$COMMON/pb_common.o'])