if 'sourcekit' not in config.available_features:
    config.unsupported = True

elif 'OS=linux-gnu' in config.available_features and 'LinuxDistribution=Ubuntu-14.04' in config.available_features:
    config.unsupported = True

elif 'swift_evolve' in config.available_features:
    # A lot of tests necessarily depend on standard library source order.
    config.unsupported = True

else:
    sed_clean = r"sed -e 's/key.filepath: \".*[/\\\\]\\(.*\\)\\.swiftmodule[/\\\\].*\\.swiftmodule\"/key.filepath: \\1.swiftmodule/g'"
    sed_clean += r" | sed -e 's/key.filepath: \".*[/\\\\]\\(.*\\)\\.swiftmodule\"/key.filepath: \\1.swiftmodule/g'"
    sed_clean += r" | sed -e 's/key.filepath: \".*[/\\\\]\\(.*\\)\\.swift\"/key.filepath: \\1.swift/g'"
    sed_clean += r" | sed -e 's/key.filepath: \".*[/\\\\]\\(.*\\)-[0-9A-Z]*\\.pcm\"/key.filepath: \\1.pcm/g'"
    sed_clean += r" | sed -e 's/ file=\\\\\".*[/\\\\]\\(.*\\)\\.h\\\\\"/ file=\\1.h/g'"

    config.substitutions.append( ('%sourcekitd-test', config.sourcekitd_test) )
    config.substitutions.append( ('%complete-test', config.complete_test) )
    config.substitutions.append( ('%swiftlib_dir', config.swiftlib_dir) )
    config.substitutions.append( ('%sed_clean', sed_clean) )
