diff -r 8ca90cef0183 -r 45525a59768b SConstruct --- a/SConstruct Tue Jan 08 08:54:16 2013 -0500 +++ b/SConstruct Wed Jan 09 17:22:28 2013 +0000 @@ -637,21 +637,31 @@ termcap.Normal main['PROTOC'] = False else: - # Determine the appropriate include path and library path using - # pkg-config, that means we also need to check for pkg-config - if not readCommand(['pkg-config', '--version'], exception=''): - print 'Error: pkg-config not found. Please install and retry.' - Exit(1) - - main.ParseConfig('pkg-config --cflags --libs-only-L protobuf') - # Based on the availability of the compress stream wrappers, # require 2.1.0 min_protoc_version = '2.1.0' if compareVersions(protoc_version[1], min_protoc_version) < 0: - print 'Error: protoc version', min_protoc_version, 'or newer required.' - print ' Installed version:', protoc_version[1] - Exit(1) + print termcap.Yellow + termcap.Bold + \ + 'Warning: protoc version', min_protoc_version, \ + 'or newer required.\n' + \ + ' Installed version:', protoc_version[1] + main['PROTOC'] = False + else: + # Attempt to determine the appropriate include path and + # library path using pkg-config, that means we also need to + # check for pkg-config. Note that it is possible to use + # protobuf without the involvement of pkg-config. Later on we + # check go a library config check and at that point the test + # will fail if libprotobuf cannot be found. + if readCommand(['pkg-config', '--version'], exception=''): + try: + # Attempt to establish what linking flags to add for protobuf + # using pkg-config + main.ParseConfig('pkg-config --cflags --libs-only-L protobuf') + except: + print termcap.Yellow + termcap.Bold + \ + 'Warning: pkg-config could not get protobuf flags.' + \ + termcap.Normal # Check for SWIG if not main.has_key('SWIG'):