Skip to content
  • Nirbheek Chauhan's avatar
    cerbero: Rework environment modification in recipes · 7462b065
    Nirbheek Chauhan authored
    Environment variable modification in a recipe used to be done with:
    
      self.append_env, self.prepend_env, or self.new_env
    
    All of these were dictionaries of {string:string} mappings, which
    means that if a recipe wanted to, say, append to `CFLAGS` from
    multiple places within the recipe (f.ex., `glib.recipe`), you had to
    carefully juggle `=` and `+=` in recipes, which was error-prone
    (f.ex., `gstreamer-1.0.recipe` `variants.nodebug` was broken).
    
    Now that we also conditionally use `self.append_env['CFLAGS']` in
    `cerbero/build/build.py` for bitcode support with make-based build
    systems, it's impossible to get this right in recipes. This was
    causing the cross-ios-universal builds to fail on recipes that
    directly set `self.append_env['CFLAGS'] = 'foo'` such as pixman.
    
    The dictionaries have now been replaced with the following functions:
    
      self.append_env(varname, value1, value2, ..., sep=separator)
      self.prepend_env(varname, value1, value2, ..., sep=separa...
    7462b065