<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def process_config(raw_path, cache_dir, cache_file, **kwargs):
 """ Read a build configuration and create it, storing the result in a build cache. Arguments raw_path -- path to a build configuration cache_dir -- the directory where cache should be written cache_file -- The filename to write the cache. This will live inside cache_dir. **kwargs -- additional arguments used by some modifiers """

    config = _create_cache(raw_path, cache_dir, cache_file)
    for modifier in _CONFIG_MODIFIERS:
        modifier(config, **kwargs)
    # pylint: disable=protected-access
    cache = devpipeline_configure.cache._CachedConfig(
        config, os.path.join(cache_dir, cache_file)
    )
    _handle_value_modifiers(cache)
    _add_package_options(cache)
    _write_config(cache, cache_dir)
    return cache