github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/builder/c/library_devlink.go (about)

     1  package c
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/metux/go-metabuild/spec/target"
     7  	"github.com/metux/go-metabuild/util"
     8  )
     9  
    10  type BuilderCLibraryDevlink struct {
    11  	BaseCBuilder
    12  }
    13  
    14  func (b BuilderCLibraryDevlink) JobRun() error {
    15  
    16  	dest := b.RequiredEntryStr(target.KeyLinkTarget)
    17  	outname := b.OutputFile()
    18  
    19  	os.Remove(outname)
    20  
    21  	util.ErrPanicf(
    22  		os.Symlink(dest, outname),
    23  		"Failed creating symlink %s", outname)
    24  
    25  	if b.WantInstall() {
    26  		b.InstallPkgSymlink(dest, outname, b.InstallDir())
    27  	}
    28  	return nil
    29  }