mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
8 years ago
|
# Build the common files needed by multiple test cases
|
||
|
|
||
|
Import('env')
|
||
|
|
||
|
# Protocol definitions for the encode/decode_unittests
|
||
|
env.NanopbProto("unittestproto")
|
||
|
|
||
|
# Protocol definitions for basic_buffer/stream tests
|
||
|
env.NanopbProto("person")
|
||
|
|
||
|
#--------------------------------------------
|
||
|
# Binaries of the pb_decode.c and pb_encode.c
|
||
|
# These are built using more strict warning flags.
|
||
|
strict = env.Clone()
|
||
|
strict.Append(CFLAGS = strict['CORECFLAGS'])
|
||
|
strict.Object("pb_decode.o", "$NANOPB/pb_decode.c")
|
||
|
strict.Object("pb_encode.o", "$NANOPB/pb_encode.c")
|
||
|
strict.Object("pb_common.o", "$NANOPB/pb_common.c")
|
||
|
|
||
|
#-----------------------------------------------
|
||
|
# Binaries of pb_decode etc. with malloc support
|
||
|
# Uses malloc_wrappers.c to count allocations.
|
||
|
malloc_env = env.Clone()
|
||
|
malloc_env.Append(CPPDEFINES = {'PB_ENABLE_MALLOC': 1,
|
||
|
'PB_SYSTEM_HEADER': '\\"malloc_wrappers_syshdr.h\\"'})
|
||
|
malloc_env.Append(CPPPATH = ["$COMMON"])
|
||
|
|
||
|
if 'SYSHDR' in malloc_env:
|
||
|
malloc_env.Append(CPPDEFINES = {'PB_OLD_SYSHDR': malloc_env['SYSHDR']})
|
||
|
|
||
|
# Disable libmudflap, because it will confuse valgrind
|
||
|
# and other memory leak detection tools.
|
||
|
if '-fmudflap' in env["CCFLAGS"]:
|
||
|
malloc_env["CCFLAGS"].remove("-fmudflap")
|
||
|
malloc_env["LINKFLAGS"].remove("-fmudflap")
|
||
|
malloc_env["LIBS"].remove("mudflap")
|
||
|
|
||
|
malloc_strict = malloc_env.Clone()
|
||
|
malloc_strict.Append(CFLAGS = malloc_strict['CORECFLAGS'])
|
||
|
malloc_strict.Object("pb_decode_with_malloc.o", "$NANOPB/pb_decode.c")
|
||
|
malloc_strict.Object("pb_encode_with_malloc.o", "$NANOPB/pb_encode.c")
|
||
|
malloc_strict.Object("pb_common_with_malloc.o", "$NANOPB/pb_common.c")
|
||
|
|
||
|
malloc_env.Object("malloc_wrappers.o", "malloc_wrappers.c")
|
||
|
malloc_env.Depends("$NANOPB/pb.h", ["malloc_wrappers_syshdr.h", "malloc_wrappers.h"])
|
||
|
|
||
|
Export("malloc_env")
|
||
|
|