Skip to content
  • Matt Valentine-House's avatar
    2a34bcaa
    Update VPATH for socket, & dependencies · 2a34bcaa
    Matt Valentine-House authored
    The socket extensions rubysocket.h pulls in the "private" include/gc.h,
    which now depends on vm_core.h. vm_core.h pulls in id.h
    
    when tool/update-deps generates the dependencies for the makefiles, it
    generates the line for id.h to be based on VPATH, which is configured in
    the extconf.rb for each of the extensions. By default VPATH does not
    include the actual source directory of the current Ruby so the
    dependency fails to resolve and linking fails.
    
    We need to append the topdir and top_srcdir to VPATH to have the
    dependancy picked up correctly (and I believe we need both of these to
    cope with in-tree and out-of-tree builds).
    
    I copied this from the approach taken in
    https://github.com/ruby/ruby/blob/master/ext/objspace/extconf.rb#L3
    2a34bcaa
    Update VPATH for socket, & dependencies
    Matt Valentine-House authored
    The socket extensions rubysocket.h pulls in the "private" include/gc.h,
    which now depends on vm_core.h. vm_core.h pulls in id.h
    
    when tool/update-deps generates the dependencies for the makefiles, it
    generates the line for id.h to be based on VPATH, which is configured in
    the extconf.rb for each of the extensions. By default VPATH does not
    include the actual source directory of the current Ruby so the
    dependency fails to resolve and linking fails.
    
    We need to append the topdir and top_srcdir to VPATH to have the
    dependancy picked up correctly (and I believe we need both of these to
    cope with in-tree and out-of-tree builds).
    
    I copied this from the approach taken in
    https://github.com/ruby/ruby/blob/master/ext/objspace/extconf.rb#L3
Loading