anchor.diff:      Sources = port_sources(rebar_config:get_list(Config, port_sources,
                                                    ["c_src/*.c"])),
       #spec { type = target_type(Target),
  +            link_lang = cc,
               target = maybe_switch_extension(os:type(), Target),
               sources = Sources,
               objects = port_objects(Sources) }.
  
positive.code:       "$CC -c $CFLAGS $DRV_CFLAGS $PORT_IN_FILES -o $PORT_OUT_FILE"},
       {"DRV_LINK_TEMPLATE",
        "$CC $PORT_IN_FILES $LDFLAGS $DRV_LDFLAGS -o $PORT_OUT_FILE"},
       {"EXE_CXX_TEMPLATE",
        "$CXX -c $CXXFLAGS $EXE_CFLAGS $PORT_IN_FILES -o $PORT_OUT_FILE"},
       {"EXE_CC_TEMPLATE",
        "$CC -c $CFLAGS $EXE_CFLAGS $PORT_IN_FILES -o $PORT_OUT_FILE"},
       {"EXE_LINK_TEMPLATE",
        "$CC $PORT_IN_FILES $LDFLAGS $EXE_LDFLAGS -o $PORT_OUT_FILE"},
       {"DRV_CFLAGS" , "-g -Wall -fPIC -MMD $ERL_CFLAGS"},
       {"DRV_LDFLAGS", "-shared $ERL_LDFLAGS"},
       {"EXE_CFLAGS" , "-g -Wall -fPIC -MMD $ERL_CFLAGS"},
  
negative.code: -include("rebar.hrl").
  
  -record(spec, {type::'drv' | 'exe',
                 link_lang::'cc' | 'cxx',
                 target::file:filename(),
                 sources = [] :: [file:filename(), ...],
                 objects = [] :: [file:filename(), ...],
                 opts = [] :: list() | []}).
  
  %% ===================================================================
  %% Public API
  