github.com/hikaru7719/go@v0.0.0-20181025140707-c8b2ac68906a/src/cmd/go/testdata/script/gcflags_patterns.txt (about)

     1  [!gc] skip 'using -gcflags and -ldflags'
     2  
     3  # -gcflags=-e applies to named packages, not dependencies
     4  go build -n -v -gcflags=-e z1 z2
     5  stderr 'compile.* -e .*-p z1'
     6  stderr 'compile.* -e .*-p z2'
     7  stderr 'compile.* -p y'
     8  ! stderr 'compile.* -e .*-p [^z]'
     9  
    10  # -gcflags can specify package=flags, and can be repeated; last match wins
    11  go build -n -v -gcflags=-e -gcflags=z1=-N z1 z2
    12  stderr 'compile.* -N .*-p z1'
    13  ! stderr 'compile.* -e .*-p z1'
    14  ! stderr 'compile.* -N .*-p z2'
    15  stderr 'compile.* -e .*-p z2'
    16  stderr 'compile.* -p y'
    17  ! stderr 'compile.* -e .*-p [^z]'
    18  ! stderr 'compile.* -N .*-p [^z]'
    19  
    20  # -gcflags can have arbitrary spaces around the flags
    21  go build -n -v -gcflags='  z1 =  	-e 	' z1
    22  stderr 'compile.* -e .*-p z1'
    23  
    24  # -ldflags for implicit test package applies to test binary
    25  go test -c -n -gcflags=-N -ldflags=-X=x.y=z z1
    26  stderr 'compile.* -N .*z_test.go'
    27  stderr 'link.* -X=x.y=z'
    28  
    29  # -ldflags for explicit test package applies to test binary
    30  go test -c -n -gcflags=z1=-N -ldflags=z1=-X=x.y=z z1
    31  stderr 'compile.* -N .*z_test.go'
    32  stderr 'link.* -X=x.y=z'
    33  
    34  # -ldflags applies to link of command
    35  go build -n -ldflags=-X=math.pi=3 my/cmd/prog
    36  stderr 'link.* -X=math.pi=3'
    37  
    38  # -ldflags applies to link of command even with strange directory name
    39  go build -n -ldflags=-X=math.pi=3 my/cmd/prog/
    40  stderr 'link.* -X=math.pi=3'
    41  
    42  # -ldflags applies to current directory
    43  cd my/cmd/prog
    44  go build -n -ldflags=-X=math.pi=3
    45  stderr 'link.* -X=math.pi=3'
    46  
    47  # -ldflags applies to current directory even if GOPATH is funny
    48  [windows] cd $WORK/GoPath/src/my/cmd/prog
    49  [darwin] cd $WORK/GoPath/src/my/cmd/prog
    50  go build -n -ldflags=-X=math.pi=3
    51  stderr 'link.* -X=math.pi=3'
    52  
    53  -- z1/z.go --
    54  package z1
    55  import _ "y"
    56  import _ "z2"
    57  
    58  -- z1/z_test.go --
    59  package z1_test
    60  import "testing"
    61  func Test(t *testing.T) {}
    62  
    63  -- z2/z.go --
    64  package z2
    65  
    66  -- y/y.go --
    67  package y
    68  
    69  -- my/cmd/prog/prog.go --
    70  package main
    71  func main() {}