From cc3c8732fd3f8505f46802dd54bd4a21c79b72aa Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Sun, 4 Jan 2015 20:20:40 +0200 Subject: Actually make the protoc version check work --- tests/SConstruct | 6 ++---- tests/oneof/SConscript | 10 ++++++++-- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/SConstruct b/tests/SConstruct index 61ce0c37..d8ab9ab0 100644 --- a/tests/SConstruct +++ b/tests/SConstruct @@ -73,11 +73,9 @@ if not env.GetOption('clean'): conf.env.Append(PROTOCPATH = '/usr/include') # Check protoc version - status, output = conf.TryAction('protoc --version') + status, output = conf.TryAction('$PROTOC --version > $TARGET') if status: - conf.env.Append(PROTOC_VERSION = output) - else: - conf.env.Append(PROTOC_VERSION = "") + conf.env['PROTOC_VERSION'] = output # Check if libmudflap is available (only with GCC) if 'gcc' in env['CC']: diff --git a/tests/oneof/SConscript b/tests/oneof/SConscript index 95f451cb..22634fb0 100644 --- a/tests/oneof/SConscript +++ b/tests/oneof/SConscript @@ -3,10 +3,16 @@ Import('env') import re -version = re.search('([0-9]+).([0-9]+).([0-9]+)', 'libprotoc 3.0.0').groups() + +match = None +if 'PROTOC_VERSION' in env: + match = re.search('([0-9]+).([0-9]+).([0-9]+)', env['PROTOC_VERSION']) + +if match: + version = map(int, match.groups()) # Oneof is supported by protoc >= 2.6.0 -if int(version[0]) > 2 or (int(version[0]) == 2 and int(version[1]) >= 6): +if env.GetOption('clean') or (match and (version[0] > 2 or (version[0] == 2 and version[1] >= 6))): env.NanopbProto('oneof') enc = env.Program(['encode_oneof.c', -- cgit 1.2.3-korg