Previously the libgo Makefile explicitly listed the set of files to
compile for each package. For packages that use build tags, this
required a lot of awkward automake conditionals in the Makefile.
This CL changes the build to look at the build tags in the files.
The new shell script libgo/match.sh does the matching. This required
adjusting a lot of build tags, and removing some files that are never
used. I verified that the exact same sets of files are compiled on
amd64 GNU/Linux. I also tested the build on i386 Solaris.
Writing match.sh revealed some bugs in the build tag handling that
already exists, in a slightly different form, in the gotest shell
script. This CL fixes those problems as well.
The old code used automake conditionals to handle systems that were
missing strerror_r and wait4. Rather than deal with those in Go, those
functions are now implemented in runtime/go-nosys.c when necessary, so
the Go code can simply assume that they exist.
The os testsuite looked for dir_unix.go, which was never built for gccgo
and has now been removed. I changed the testsuite to look for dir.go
instead.
Reviewed-on: https://go-review.googlesource.com/25546
From-SVN: r239189
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| debug | Loading commit data... | |
| msan | Loading commit data... | |
| pprof | Loading commit data... | |
| race | Loading commit data... | |
| testdata | Loading commit data... | |
| append_test.go | Loading commit data... | |
| callers_test.go | Loading commit data... | |
| cgo_mmap.go | Loading commit data... | |
| cgocheck.go | Loading commit data... | |
| chan_test.go | Loading commit data... | |
| chanbarrier_test.go | Loading commit data... | |
| closure_test.go | Loading commit data... | |
| compiler.go | Loading commit data... | |
| complex_test.go | Loading commit data... | |
| crash_cgo_test.go | Loading commit data... | |
| crash_nonunix_test.go | Loading commit data... | |
| crash_test.go | Loading commit data... | |
| crash_unix_test.go | Loading commit data... | |
| debug.go | Loading commit data... | |
| env_test.go | Loading commit data... | |
| error.go | Loading commit data... | |
| export_arm_test.go | Loading commit data... | |
| export_linux_test.go | Loading commit data... | |
| export_mmap_test.go | Loading commit data... | |
| export_test.go | Loading commit data... | |
| export_windows_test.go | Loading commit data... | |
| extern.go | Loading commit data... | |
| fastlog2.go | Loading commit data... | |
| fastlog2_test.go | Loading commit data... | |
| fastlog2table.go | Loading commit data... | |
| gc_test.go | Loading commit data... | |
| gcinfo_test.go | Loading commit data... | |
| iface_test.go | Loading commit data... | |
| lfstack_64bit.go | Loading commit data... | |
| lfstack_test.go | Loading commit data... | |
| malloc_test.go | Loading commit data... | |
| map_test.go | Loading commit data... | |
| mapspeed_test.go | Loading commit data... | |
| mem.go | Loading commit data... | |
| mfinal_test.go | Loading commit data... | |
| mkfastlog2table.go | Loading commit data... | |
| mmap.go | Loading commit data... | |
| msan0.go | Loading commit data... | |
| mstkbar.go | Loading commit data... | |
| norace_test.go | Loading commit data... | |
| print.go | Loading commit data... | |
| proc_runtime_test.go | Loading commit data... | |
| proc_test.go | Loading commit data... | |
| runtime-lldb_test.go | Loading commit data... | |
| runtime_mmap_test.go | Loading commit data... | |
| runtime_test.go | Loading commit data... | |
| runtime_unix_test.go | Loading commit data... | |
| signal2_unix.go | Loading commit data... | |
| signal_sigtramp.go | Loading commit data... | |
| stack.go | Loading commit data... | |
| string_test.go | Loading commit data... | |
| symtab.go | Loading commit data... | |
| symtab_test.go | Loading commit data... |