From 41fd2d10cd89f0be0930c5bfc3138418078163ee Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 30 Oct 2016 16:45:34 +0000 Subject: libgo: eliminate a lot of duplication in Makefile.am I read through the GNU make manual. I knew there had to be a way to do it. Remove the special netgo library. The essential feature--using the Go DNS resolver--is now available by setting GODEBUG=netdns=go. Reviewed-on: https://go-review.googlesource.com/32333 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241687 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgo/Makefile.am | 2295 +++++++---------------------------------------------- 1 file changed, 286 insertions(+), 2009 deletions(-) (limited to 'libgo/Makefile.am') diff --git a/libgo/Makefile.am b/libgo/Makefile.am index 8237bb6af4d3..d9f84a009b32 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -105,7 +105,7 @@ toolexeclib_LTLIBRARIES = libgo-llgo.la toolexeclib_LIBRARIES = libgobegin-llgo.a else toolexeclib_LTLIBRARIES = libgo.la -toolexeclib_LIBRARIES = libgobegin.a libgolibbegin.a libnetgo.a +toolexeclib_LIBRARIES = libgobegin.a libgolibbegin.a endif toolexeclibgo_DATA = \ @@ -479,7 +479,7 @@ runtime_files = \ runtime/parfor.c \ runtime/print.c \ runtime/proc.c \ - runtime/runtime.c \ + runtime/runtime_c.c \ runtime/signal_unix.c \ runtime/thread.c \ $(runtime_thread_files) \ @@ -572,6 +572,16 @@ s-runtime_sysinfo: $(srcdir)/mkrsysinfo.sh gen-sysinfo.go $(SHELL) $(srcdir)/mvifdiff.sh tmp-runtime_sysinfo.go runtime_sysinfo.go $(STAMP) $@ +runtime.inc: s-runtime-inc; @true +s-runtime-inc: runtime.lo Makefile + rm -f runtime.inc.tmp2 + grep -v "#define _" runtime.inc.tmp | grep -v "#define c0 " | grep -v "#define c1 " > runtime.inc.tmp2 + for pattern in '_G[a-z]' '_P[a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \ + grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \ + done + $(SHELL) $(srcdir)/mvifdiff.sh runtime.inc.tmp2 runtime.inc + $(STAMP) $@ + noinst_DATA = zstdpkglist.go # Generate the list of go std packages that were included in libgo @@ -581,7 +591,7 @@ s-zstdpkglist: Makefile echo 'package main' > zstdpkglist.go.tmp echo "" >> zstdpkglist.go.tmp echo 'var stdpkg = map[string]bool{' >> zstdpkglist.go.tmp - echo $(libgo_go_objs) 'unsafe.lo' 'runtime/cgo.lo' | sed 's/\.lo /\": true,\n/g' | sed 's/\.lo/\": true,/' | sed 's/-go//' | grep -v _c | sed 's/^/\t\"/' | sort | uniq >> zstdpkglist.go.tmp + echo $(libgo_go_objs) 'unsafe.lo' 'runtime/cgo.lo' | sed 's/\.lo /\": true,\n/g' | sed 's/\.lo/\": true,/' | grep -v _c | sed 's/^/\t\"/' | sort | uniq >> zstdpkglist.go.tmp echo '}' >> zstdpkglist.go.tmp $(SHELL) $(srcdir)/mvifdiff.sh zstdpkglist.go.tmp zstdpkglist.go $(STAMP) $@ @@ -592,12 +602,6 @@ else syscall_epoll_file = endif -extra_go_files_syscall = \ - libcalls.go \ - sysinfo.go \ - syscall_arch.go \ - $(syscall_epoll_file) - libcalls.go: s-libcalls; @true s-libcalls: libcalls-list go/syscall/mksyscall.awk $(srcdir)/go/syscall/*.go rm -f libcalls.go.tmp @@ -678,175 +682,178 @@ else syscall_lib_clone_lo = endif +PACKAGES = \ + archive/tar \ + archive/zip \ + bufio \ + bytes \ + compress/bzip2 \ + compress/flate \ + compress/gzip \ + compress/lzw \ + compress/zlib \ + container/heap \ + container/list \ + container/ring \ + context \ + crypto \ + crypto/aes \ + crypto/cipher \ + crypto/des \ + crypto/dsa \ + crypto/ecdsa \ + crypto/elliptic \ + crypto/hmac \ + crypto/md5 \ + crypto/rand \ + crypto/rc4 \ + crypto/rsa \ + crypto/sha1 \ + crypto/sha256 \ + crypto/sha512 \ + crypto/subtle \ + crypto/tls \ + crypto/x509 \ + crypto/x509/pkix \ + database/sql \ + database/sql/driver \ + debug/dwarf \ + debug/elf \ + debug/gosym \ + debug/macho \ + debug/pe \ + debug/plan9obj \ + encoding \ + encoding/ascii85 \ + encoding/asn1 \ + encoding/base32 \ + encoding/base64 \ + encoding/binary \ + encoding/csv \ + encoding/gob \ + encoding/hex \ + encoding/json \ + encoding/pem \ + encoding/xml \ + errors \ + exp/proxy \ + exp/terminal \ + expvar \ + flag \ + fmt \ + go/ast \ + go/build \ + go/constant \ + go/doc \ + go/format \ + go/importer \ + go/internal/gccgoimporter \ + go/internal/gcimporter \ + go/parser \ + go/printer \ + go/scanner \ + go/token \ + go/types \ + golang_org/x/net/http2/hpack \ + golang_org/x/net/lex/httplex \ + hash \ + hash/adler32 \ + hash/crc32 \ + hash/crc64 \ + hash/fnv \ + html \ + html/template \ + image \ + image/color \ + image/color/palette \ + image/draw \ + image/gif \ + image/internal/imageutil \ + image/jpeg \ + image/png \ + index/suffixarray \ + internal/nettrace \ + internal/race \ + internal/singleflight \ + internal/syscall/unix \ + internal/testenv \ + internal/trace \ + io \ + io/ioutil \ + log \ + log/syslog \ + math \ + math/big \ + math/cmplx \ + math/rand \ + mime \ + mime/multipart \ + mime/quotedprintable \ + net \ + net/http \ + net/http/cgi \ + net/http/cookiejar \ + net/http/fcgi \ + net/http/httptest \ + net/http/httptrace \ + net/http/httputil \ + net/http/internal \ + net/http/pprof \ + net/internal/socktest \ + net/mail \ + net/rpc \ + net/rpc/jsonrpc \ + net/smtp \ + net/textproto \ + net/url \ + old/regexp \ + old/template \ + os \ + os/exec \ + os/signal \ + os/user \ + path \ + path/filepath \ + reflect \ + regexp \ + regexp/syntax \ + runtime \ + runtime/debug \ + runtime/internal/atomic \ + runtime/internal/sys \ + runtime/pprof \ + sort \ + strconv \ + strings \ + sync \ + sync/atomic \ + syscall \ + testing \ + testing/iotest \ + testing/quick \ + text/scanner \ + text/tabwriter \ + text/template \ + text/template/parse \ + time \ + unicode \ + unicode/utf16 \ + unicode/utf8 + libgo_go_objs = \ - bufio.lo \ - bytes.lo \ + $(addsuffix .lo,$(PACKAGES)) \ bytes/index.lo \ - context.lo \ - crypto.lo \ - encoding.lo \ - errors.lo \ - expvar.lo \ - flag.lo \ - fmt.lo \ - hash.lo \ - html.lo \ - image.lo \ - io.lo \ - log.lo \ - math.lo \ - mime.lo \ - net.lo \ - os.lo \ - path.lo \ - reflect-go.lo \ reflect/makefunc_ffi_c.lo \ - regexp.lo \ - runtime-go.lo \ - sort.lo \ - strconv.lo \ - strings.lo \ strings/index.lo \ - sync.lo \ - syscall.lo \ $(syscall_lib_clone_lo) \ syscall/errno.lo \ syscall/signame.lo \ syscall/wait.lo \ - testing.lo \ - time-go.lo \ - unicode.lo \ - archive/tar.lo \ - archive/zip.lo \ - compress/bzip2.lo \ - compress/flate.lo \ - compress/gzip.lo \ - compress/lzw.lo \ - compress/zlib.lo \ - container/heap.lo \ - container/list.lo \ - container/ring.lo \ - crypto/aes.lo \ - crypto/cipher.lo \ - crypto/des.lo \ - crypto/dsa.lo \ - crypto/ecdsa.lo \ - crypto/elliptic.lo \ - crypto/hmac.lo \ - crypto/md5.lo \ - crypto/rand.lo \ - crypto/rc4.lo \ - crypto/rsa.lo \ - crypto/sha1.lo \ - crypto/sha256.lo \ - crypto/sha512.lo \ - crypto/subtle.lo \ - crypto/tls.lo \ - crypto/x509.lo \ - crypto/x509/pkix.lo \ - database/sql.lo \ - database/sql/driver.lo \ - debug/dwarf.lo \ - debug/elf.lo \ - debug/gosym.lo \ - debug/macho.lo \ - debug/pe.lo \ - debug/plan9obj.lo \ - encoding/ascii85.lo \ - encoding/asn1.lo \ - encoding/base32.lo \ - encoding/base64.lo \ - encoding/binary.lo \ - encoding/csv.lo \ - encoding/gob.lo \ - encoding/hex.lo \ - encoding/json.lo \ - encoding/pem.lo \ - encoding/xml.lo \ - exp/proxy.lo \ - exp/terminal.lo \ - html/template.lo \ - go/ast.lo \ - go/build.lo \ - go/constant.lo \ - go/doc.lo \ - go/format.lo \ - go/importer.lo \ - go/internal/gcimporter.lo \ - go/internal/gccgoimporter.lo \ - go/parser.lo \ - go/printer.lo \ - go/scanner.lo \ - go/token.lo \ - go/types.lo \ - golang_org/x/net/http2/hpack.lo \ - golang_org/x/net/lex/httplex.lo \ $(golang_org_x_net_route_lo) \ - hash/adler32.lo \ - hash/crc32.lo \ - hash/crc64.lo \ - hash/fnv.lo \ - net/http/cgi.lo \ - net/http/cookiejar.lo \ - net/http/fcgi.lo \ - net/http/httptest.lo \ - net/http/httptrace.lo \ - net/http/httputil.lo \ - net/http/internal.lo \ - net/http/pprof.lo \ - image/color.lo \ - image/color/palette.lo \ - image/draw.lo \ - image/gif.lo \ - image/internal/imageutil.lo \ - image/jpeg.lo \ - image/png.lo \ - index/suffixarray.lo \ - internal/nettrace.lo \ - internal/race.lo \ - internal/singleflight.lo \ - internal/syscall/unix.lo \ - internal/testenv.lo \ - internal/trace.lo \ - io/ioutil.lo \ - log/syslog.lo \ log/syslog/syslog_c.lo \ - math/big.lo \ - math/cmplx.lo \ - math/rand.lo \ - mime/multipart.lo \ - mime/quotedprintable.lo \ - net/http.lo \ - net/internal/socktest.lo \ - net/mail.lo \ - net/rpc.lo \ - net/smtp.lo \ - net/textproto.lo \ - net/url.lo \ - old/regexp.lo \ - old/template.lo \ - os/exec.lo \ $(os_lib_inotify_lo) \ - os/signal.lo \ - os/user.lo \ - path/filepath.lo \ - regexp/syntax.lo \ - net/rpc/jsonrpc.lo \ - runtime/debug.lo \ - runtime/pprof.lo \ - runtime/internal/atomic.lo \ runtime/internal/atomic_c.lo \ - runtime/internal/sys.lo \ - sync/atomic.lo \ - sync/atomic_c.lo \ - text/scanner.lo \ - text/tabwriter.lo \ - text/template.lo \ - text/template/parse.lo \ - testing/iotest.lo \ - testing/quick.lo \ - unicode/utf16.lo \ - unicode/utf8.lo + sync/atomic_c.lo libgo_ldflags = \ -version-info $(libtool_VERSION) $(PTHREAD_CFLAGS) $(AM_LDFLAGS) @@ -878,9 +885,6 @@ libgolibbegin_a_SOURCES = \ libgolibbegin_a_CFLAGS = $(AM_CFLAGS) -fPIC -libnetgo_a_SOURCES = -libnetgo_a_LIBADD = netgo.o - # Make sure runtime.inc is built before compiling any .c file. $(libgo_la_OBJECTS): runtime.inc $(libgo_llgo_la_OBJECTS): runtime.inc @@ -903,8 +907,8 @@ GOLINK = $(LIBTOOL) --tag GO --mode-link $(GOC) \ # Build the dependencies for a Go package. BUILDDEPS = \ $(MKDIR_P) $(@D); \ - dir=`echo $@ | sed -e 's/.lo.dep$$//' -e 's/-go//'`; \ - files=`$(SHELL) $(srcdir)/match.sh --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/$$dir --extrafiles="$(extra_go_files_$(subst /,_,$(subst -go,,$(subst .lo.dep,,$@))))" $(matchargs_$(subst /,_,$(subst -go,,$(subst .lo.dep,,$@))))`; \ + dir=`echo $@ | sed -e 's/.lo.dep$$//'`; \ + files=`$(SHELL) $(srcdir)/match.sh --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/$$dir --extrafiles="$(extra_go_files_$(subst /,_,$(subst .lo.dep,,$@)))" $(matchargs_$(subst /,_,$(subst .lo.dep,,$@)))`; \ $(SHELL) $(srcdir)/godeps.sh `echo $@ | sed -e 's/.dep$$//'` $$files > $@.tmp; \ if ! cmp $@.tmp $@ >/dev/null 2>/dev/null; then \ rm -f `echo $@ | sed -e 's/\.dep$$//'`; \ @@ -915,20 +919,12 @@ BUILDDEPS = \ BUILDPACKAGE = \ $(MKDIR_P) $(@D); \ files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; \ - $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//' -e 's/-go$$//'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files + $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files -# Build deps for netgo.o. -BUILDNETGODEPS = \ - $(MKDIR_P) $(@D); \ - files=`$(SHELL) $(srcdir)/match.sh --nocgo --tag=netgo --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/net`; \ - $(SHELL) $(srcdir)/godeps.sh netgo.o $$files > $@.tmp; \ - mv -f $@.tmp $@ - -# Build netgo.o. -BUILDNETGO = \ - $(MKDIR_P) $(@D); \ - files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; \ - $(GOCOMPILE) -I . -c -fPIC -fgo-pkgpath=net -o $@ $$files +# How to build a .gox file from a .lo file. +BUILDGOX = \ + f=`echo $< | sed -e 's/.lo$$/.o/'`; \ + $(OBJCOPY) -j .go_export $$f $@.tmp && mv -f $@.tmp $@ GOTESTFLAGS = GOBENCH = @@ -1003,1856 +999,137 @@ else CHECK_DEPS += libgo.la libgobegin.a endif -@go_include@ bufio.lo.dep -bufio.lo.dep: $(srcdir)/go/bufio/*.go - $(BUILDDEPS) -bufio.lo: - $(BUILDPACKAGE) -bufio/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: bufio/check - -@go_include@ bytes.lo.dep -bytes.lo.dep: $(srcdir)/go/bytes/*.go - $(BUILDDEPS) -bytes.lo: - $(BUILDPACKAGE) -bytes/index.lo: go/bytes/indexbyte.c runtime.inc - @$(MKDIR_P) bytes - $(LTCOMPILE) -c -o bytes/index.lo $(srcdir)/go/bytes/indexbyte.c -bytes/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: bytes/check - -@go_include@ context.lo.dep -context.lo.dep: $(srcdir)/go/context/*.go - $(BUILDDEPS) -context.lo: - $(BUILDPACKAGE) -context/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: context/check - -@go_include@ crypto.lo.dep -crypto.lo.dep: $(srcdir)/go/crypto/*.go - $(BUILDDEPS) -crypto.lo: - $(BUILDPACKAGE) -crypto/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/check - -@go_include@ encoding.lo.dep -encoding.lo.dep: $(srcdir)/go/encoding/*.go - $(BUILDDEPS) -encoding.lo: - $(BUILDPACKAGE) -encoding/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/check - -@go_include@ errors.lo.dep -errors.lo.dep: $(srcdir)/go/errors/*.go - $(BUILDDEPS) -errors.lo: - $(BUILDPACKAGE) -errors/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: errors/check - -@go_include@ expvar.lo.dep -expvar.lo.dep: $(srcdir)/go/expvar/*.go - $(BUILDDEPS) -expvar.lo: - $(BUILDPACKAGE) -expvar/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: expvar/check - -@go_include@ flag.lo.dep -flag.lo.dep: $(srcdir)/go/flag/*.go - $(BUILDDEPS) -flag.lo: - $(BUILDPACKAGE) -flag/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: flag/check - -@go_include@ fmt.lo.dep -fmt.lo.dep: $(srcdir)/go/fmt/*.go - $(BUILDDEPS) -fmt.lo: - $(BUILDPACKAGE) -fmt/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: fmt/check - -@go_include@ hash.lo.dep -hash.lo.dep: $(srcdir)/go/hash/*.go - $(BUILDDEPS) -hash.lo: - $(BUILDPACKAGE) -hash/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/check - -@go_include@ html.lo.dep -html.lo.dep: $(srcdir)/go/html/*.go - $(BUILDDEPS) -html.lo: - $(BUILDPACKAGE) -html/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: html/check - -@go_include@ image.lo.dep -image.lo.dep: $(srcdir)/go/image/*.go - $(BUILDDEPS) -image.lo: - $(BUILDPACKAGE) -image/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/check - -@go_include@ io.lo.dep -io.lo.dep: $(srcdir)/go/io/*.go - $(BUILDDEPS) -io.lo: - $(BUILDPACKAGE) -io/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: io/check - -@go_include@ log.lo.dep -log.lo.dep: $(srcdir)/go/log/*.go - $(BUILDDEPS) -log.lo: - $(BUILDPACKAGE) -log/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: log/check - -@go_include@ math.lo.dep -math.lo.dep: $(srcdir)/go/math/*.go - $(BUILDDEPS) -math.lo: - $(MKDIR_P) $(@D) - files=`echo $^ | sed -e 's/[^ ]*\.gox//g'`; \ - $(LTGOCOMPILE) $(MATH_FLAG) -I . -c -fgo-pkgpath=math -o $@ $$files -math/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: math/check - -@go_include@ mime.lo.dep -mime.lo.dep: $(srcdir)/go/mime/*.go - $(BUILDDEPS) -mime.lo: - $(BUILDPACKAGE) -mime/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: mime/check - -@go_include@ net.lo.dep -net.lo.dep: $(srcdir)/go/net/*.go - $(BUILDDEPS) -net.lo: - $(BUILDPACKAGE) -net/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/check - -@go_include@ netgo.o.dep -netgo.o.dep: $(srcdir)/go/net/*.go - $(BUILDNETGODEPS) -netgo.o: netgo.o.dep - $(BUILDNETGO) - -if LIBGO_IS_SOLARIS -if HAVE_STAT_TIMESPEC -matchargs_os = --tag=solaristag -else -matchargs_os = -endif -else -matchargs_os = -endif - -@go_include@ os.lo.dep -os.lo.dep: $(srcdir)/go/os/*.go - $(BUILDDEPS) -os.lo: - $(BUILDPACKAGE) -os/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/check - -@go_include@ path.lo.dep -path.lo.dep: $(srcdir)/go/path/*.go - $(BUILDDEPS) -path.lo: - $(BUILDPACKAGE) -path/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: path/check - -@go_include@ reflect-go.lo.dep -reflect-go.lo.dep: $(srcdir)/go/reflect/*.go - $(BUILDDEPS) -reflect-go.lo: - $(BUILDPACKAGE) -reflect/check: $(CHECK_DEPS) - @$(CHECK) -reflect/makefunc_ffi_c.lo: go/reflect/makefunc_ffi_c.c runtime.inc - @$(MKDIR_P) reflect - $(LTCOMPILE) -c -o $@ $< -.PHONY: reflect/check - -@go_include@ regexp.lo.dep -regexp.lo.dep: $(srcdir)/go/regexp/*.go - $(BUILDDEPS) -regexp.lo: - $(BUILDPACKAGE) -regexp/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: regexp/check - +# PACKAGE_template defines the rules for each package. +# For example, for the package bufio, it produces: +# +# @go_include@ bufio.lo.dep +# bufio.lo.dep: $(srcdir)/go/bufio/*.go +# $(BUILDDEPS) +# bufio.lo: +# $(BUILDPACKAGE) +# bufio/check: $(CHECK_DEPS) +# @$(CHECK) +# .PHONY: bufio/check +# +# This is invoked with $(1) set to a package, which is a directory name, +# such as "bufio" or "archive/tar". +define PACKAGE_template +@go_include@ $(1).lo.dep +$(1).lo.dep: $(srcdir)/go/$(1)/*.go + $$(BUILDDEPS) +$(1).lo: + $$(BUILDPACKAGE) +$(1)/check: $$(CHECK_DEPS) + @$$(CHECK) +.PHONY: $(1)/check +$(1).gox: $(1).lo + $$(BUILDGOX) +endef + +# This line expands PACKAGE_template once for each package name listed +# in $(PACKAGES). +$(foreach package,$(PACKAGES),$(eval $(call PACKAGE_template,$(package)))) + +# Pass -ffp-contract=off, or 386-specific options, when building the +# math package. MATH_FLAG is defined in configure.ac. +math_lo_GOCFLAGS = $(MATH_FLAG) + +# Add the generated file runtime_sysinfo.go to the runtime package. extra_go_files_runtime = runtime_sysinfo.go +runtime.lo.dep: $(extra_go_files_runtime) -@go_include@ runtime-go.lo.dep -runtime-go.lo.dep: $(srcdir)/go/runtime/*.go $(extra_go_files_runtime) - $(BUILDDEPS) -runtime_go_lo_GOCFLAGS = -fgo-c-header=runtime.inc.tmp -fgo-compiling-runtime -runtime-go.lo: - $(BUILDPACKAGE) -runtime.inc: s-runtime-inc; @true -s-runtime-inc: runtime-go.lo Makefile - rm -f runtime.inc.tmp2 - grep -v "#define _" runtime.inc.tmp | grep -v "#define c0 " | grep -v "#define c1 " > runtime.inc.tmp2 - for pattern in '_G[a-z]' '_P[a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \ - grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \ - done - $(SHELL) $(srcdir)/mvifdiff.sh runtime.inc.tmp2 runtime.inc - $(STAMP) $@ +# Add generated files to the syscall package. +extra_go_files_syscall = \ + libcalls.go \ + sysinfo.go \ + syscall_arch.go \ + $(syscall_epoll_file) +syscall.lo.dep: $(extra_go_files_syscall) + +# Pass -fgo-compiling-runtime when compiling the runtime package. +runtime_lo_GOCFLAGS = -fgo-c-header=runtime.inc.tmp -fgo-compiling-runtime runtime_check_GOCFLAGS = -fgo-compiling-runtime -runtime/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/check - -@go_include@ sort.lo.dep -sort.lo.dep: $(srcdir)/go/sort/*.go - $(BUILDDEPS) -sort.lo: - $(BUILDPACKAGE) -sort/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: sort/check - -@go_include@ strconv.lo.dep -strconv.lo.dep: $(srcdir)/go/strconv/*.go - $(BUILDDEPS) -strconv.lo: - $(BUILDPACKAGE) -strconv/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: strconv/check - -@go_include@ strings.lo.dep -strings.lo.dep: $(srcdir)/go/strings/*.go - $(BUILDDEPS) -strings.lo: - $(BUILDPACKAGE) -strings/index.lo: go/strings/indexbyte.c runtime.inc - @$(MKDIR_P) strings - $(LTCOMPILE) -c -o strings/index.lo $(srcdir)/go/strings/indexbyte.c -strings/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: strings/check - -@go_include@ sync.lo.dep -sync.lo.dep: $(srcdir)/go/sync/*.go - $(BUILDDEPS) -sync.lo: - $(BUILDPACKAGE) -sync/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: sync/check - -@go_include@ testing.lo.dep -testing.lo.dep: $(srcdir)/go/testing/*.go - $(BUILDDEPS) -testing.lo: - $(BUILDPACKAGE) -testing/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: testing/check - -@go_include@ time-go.lo.dep -time-go.lo.dep: $(srcdir)/go/time/*.go - $(BUILDDEPS) -time-go.lo: - $(BUILDPACKAGE) -time/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: time/check - -@go_include@ unicode.lo.dep -unicode.lo.dep: $(srcdir)/go/unicode/*.go - $(BUILDDEPS) -unicode.lo: - $(BUILDPACKAGE) -unicode/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: unicode/check - -@go_include@ archive/tar.lo.dep -archive/tar.lo.dep: $(srcdir)/go/archive/tar/*.go - $(BUILDDEPS) -archive/tar.lo: - $(BUILDPACKAGE) -archive/tar/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: archive/tar/check - -@go_include@ archive/zip.lo.dep -archive/zip.lo.dep: $(srcdir)/go/archive/zip/*.go - $(BUILDDEPS) -archive/zip.lo: - $(BUILDPACKAGE) -archive/zip/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: archive/zip/check - -@go_include@ compress/bzip2.lo.dep -compress/bzip2.lo.dep: $(srcdir)/go/compress/bzip2/*.go - $(BUILDDEPS) -compress/bzip2.lo: - $(BUILDPACKAGE) -compress/bzip2/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/bzip2/check - -@go_include@ compress/flate.lo.dep -compress/flate.lo.dep: $(srcdir)/go/compress/flate/*.go - $(BUILDDEPS) -compress/flate.lo: - $(BUILDPACKAGE) -compress/flate/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/flate/check - -@go_include@ compress/gzip.lo.dep -compress/gzip.lo.dep: $(srcdir)/go/compress/gzip/*.go - $(BUILDDEPS) -compress/gzip.lo: - $(BUILDPACKAGE) -compress/gzip/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/gzip/check - -@go_include@ compress/lzw.lo.dep -compress/lzw.lo.dep: $(srcdir)/go/compress/lzw/*.go - $(BUILDDEPS) -compress/lzw.lo: - $(BUILDPACKAGE) -compress/lzw/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/lzw/check - -@go_include@ compress/zlib.lo.dep -compress/zlib.lo.dep: $(srcdir)/go/compress/zlib/*.go - $(BUILDDEPS) -compress/zlib.lo: - $(BUILDPACKAGE) -compress/zlib/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/zlib/check - -@go_include@ container/heap.lo.dep -container/heap.lo.dep: $(srcdir)/go/container/heap/*.go - $(BUILDDEPS) -container/heap.lo: - $(BUILDPACKAGE) -container/heap/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: container/heap/check - -@go_include@ container/list.lo.dep -container/list.lo.dep: $(srcdir)/go/container/list/*.go - $(BUILDDEPS) -container/list.lo: - $(BUILDPACKAGE) -container/list/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: container/list/check - -@go_include@ container/ring.lo.dep -container/ring.lo.dep: $(srcdir)/go/container/ring/*.go - $(BUILDDEPS) -container/ring.lo: - $(BUILDPACKAGE) -container/ring/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: container/ring/check - -@go_include@ crypto/aes.lo.dep -crypto/aes.lo.dep: $(srcdir)/go/crypto/aes/*.go - $(BUILDDEPS) -crypto/aes.lo: - $(BUILDPACKAGE) -crypto/aes/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/aes/check - -@go_include@ crypto/cipher.lo.dep -crypto/cipher.lo.dep: $(srcdir)/go/crypto/cipher/*.go - $(BUILDDEPS) -crypto/cipher.lo: - $(BUILDPACKAGE) -crypto/cipher/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/cipher/check - -@go_include@ crypto/des.lo.dep -crypto/des.lo.dep: $(srcdir)/go/crypto/des/*.go - $(BUILDDEPS) -crypto/des.lo: - $(BUILDPACKAGE) -crypto/des/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/des/check - -@go_include@ crypto/dsa.lo.dep -crypto/dsa.lo.dep: $(srcdir)/go/crypto/dsa/*.go - $(BUILDDEPS) -crypto/dsa.lo: - $(BUILDPACKAGE) -crypto/dsa/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/dsa/check - -@go_include@ crypto/ecdsa.lo.dep -crypto/ecdsa.lo.dep: $(srcdir)/go/crypto/ecdsa/*.go - $(BUILDDEPS) -crypto/ecdsa.lo: - $(BUILDPACKAGE) -crypto/ecdsa/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/ecdsa/check - -@go_include@ crypto/elliptic.lo.dep -crypto/elliptic.lo.dep: $(srcdir)/go/crypto/elliptic/*.go - $(BUILDDEPS) -crypto/elliptic.lo: - $(BUILDPACKAGE) -crypto/elliptic/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/elliptic/check - -@go_include@ crypto/hmac.lo.dep -crypto/hmac.lo.dep: $(srcdir)/go/crypto/hmac/*.go - $(BUILDDEPS) -crypto/hmac.lo: - $(BUILDPACKAGE) -crypto/hmac/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/hmac/check - -@go_include@ crypto/md5.lo.dep -crypto/md5.lo.dep: $(srcdir)/go/crypto/md5/*.go - $(BUILDDEPS) -crypto/md5.lo: - $(BUILDPACKAGE) -crypto/md5/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/md5/check - -@go_include@ crypto/rand.lo.dep -crypto/rand.lo.dep: $(srcdir)/go/crypto/rand/*.go - $(BUILDDEPS) -crypto/rand.lo: - $(BUILDPACKAGE) -crypto/rand/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/rand/check - -@go_include@ crypto/rc4.lo.dep -crypto/rc4.lo.dep: $(srcdir)/go/crypto/rc4/*.go - $(BUILDDEPS) -crypto/rc4.lo: - $(BUILDPACKAGE) -crypto/rc4/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/rc4/check - -@go_include@ crypto/rsa.lo.dep -crypto/rsa.lo.dep: $(srcdir)/go/crypto/rsa/*.go - $(BUILDDEPS) -crypto/rsa.lo: - $(BUILDPACKAGE) -crypto/rsa/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/rsa/check - -@go_include@ crypto/sha1.lo.dep -crypto/sha1.lo.dep: $(srcdir)/go/crypto/sha1/*.go - $(BUILDDEPS) -crypto/sha1.lo: - $(BUILDPACKAGE) -crypto/sha1/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/sha1/check - -@go_include@ crypto/sha256.lo.dep -crypto/sha256.lo.dep: $(srcdir)/go/crypto/sha256/*.go - $(BUILDDEPS) -crypto/sha256.lo: - $(BUILDPACKAGE) -crypto/sha256/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/sha256/check - -@go_include@ crypto/sha512.lo.dep -crypto/sha512.lo.dep: $(srcdir)/go/crypto/sha512/*.go - $(BUILDDEPS) -crypto/sha512.lo: - $(BUILDPACKAGE) -crypto/sha512/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/sha512/check - -@go_include@ crypto/subtle.lo.dep -crypto/subtle.lo.dep: $(srcdir)/go/crypto/subtle/*.go - $(BUILDDEPS) -crypto/subtle.lo: - $(BUILDPACKAGE) -crypto/subtle/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/subtle/check - -@go_include@ crypto/tls.lo.dep -crypto/tls.lo.dep: $(srcdir)/go/crypto/tls/*.go - $(BUILDDEPS) -crypto/tls.lo: - $(BUILDPACKAGE) -crypto/tls/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/tls/check - -@go_include@ crypto/x509.lo.dep -crypto/x509.lo.dep: $(srcdir)/go/crypto/x509/*.go - $(BUILDDEPS) -crypto/x509.lo: - $(BUILDPACKAGE) -crypto/x509/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/x509/check - -@go_include@ crypto/x509/pkix.lo.dep -crypto/x509/pkix.lo.dep: $(srcdir)/go/crypto/x509/pkix/*.go - $(BUILDDEPS) -crypto/x509/pkix.lo: - $(BUILDPACKAGE) -crypto/x509/pkix/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/x509/pkix/check - -@go_include@ database/sql.lo.dep -database/sql.lo.dep: $(srcdir)/go/database/sql/*.go - $(BUILDDEPS) -database/sql.lo: - $(BUILDPACKAGE) -database/sql/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: database/sql/check - -@go_include@ database/sql/driver.lo.dep -database/sql/driver.lo.dep: $(srcdir)/go/database/sql/driver/*.go - $(BUILDDEPS) -database/sql/driver.lo: - $(BUILDPACKAGE) -database/sql/driver/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: database/sql/driver/check - -@go_include@ debug/dwarf.lo.dep -debug/dwarf.lo.dep: $(srcdir)/go/debug/dwarf/*.go - $(BUILDDEPS) -debug/dwarf.lo: - $(BUILDPACKAGE) -debug/dwarf/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/dwarf/check - -@go_include@ debug/elf.lo.dep -debug/elf.lo.dep: $(srcdir)/go/debug/elf/*.go - $(BUILDDEPS) -debug/elf.lo: - $(BUILDPACKAGE) -debug/elf/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/elf/check - -@go_include@ debug/gosym.lo.dep -debug/gosym.lo.dep: $(srcdir)/go/debug/gosym/*.go - $(BUILDDEPS) -debug/gosym.lo: - $(BUILDPACKAGE) -debug/gosym/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/gosym/check - -@go_include@ debug/macho.lo.dep -debug/macho.lo.dep: $(srcdir)/go/debug/macho/*.go - $(BUILDDEPS) -debug/macho.lo: - $(BUILDPACKAGE) -debug/macho/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/macho/check - -@go_include@ debug/pe.lo.dep -debug/pe.lo.dep: $(srcdir)/go/debug/pe/*.go - $(BUILDDEPS) -debug/pe.lo: - $(BUILDPACKAGE) -debug/pe/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/pe/check - -@go_include@ debug/plan9obj.lo.dep -debug/plan9obj.lo.dep: $(srcdir)/go/debug/plan9obj/*.go - $(BUILDDEPS) -debug/plan9obj.lo: - $(BUILDPACKAGE) -debug/plan9obj/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/plan9obj/check - -@go_include@ encoding/asn1.lo.dep -encoding/asn1.lo.dep: $(srcdir)/go/encoding/asn1/*.go - $(BUILDDEPS) -encoding/asn1.lo: - $(BUILDPACKAGE) -encoding/asn1/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/asn1/check - -@go_include@ encoding/ascii85.lo.dep -encoding/ascii85.lo.dep: $(srcdir)/go/encoding/ascii85/*.go - $(BUILDDEPS) -encoding/ascii85.lo: - $(BUILDPACKAGE) -encoding/ascii85/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/ascii85/check - -@go_include@ encoding/base32.lo.dep -encoding/base32.lo.dep: $(srcdir)/go/encoding/base32/*.go - $(BUILDDEPS) -encoding/base32.lo: - $(BUILDPACKAGE) -encoding/base32/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/base32/check - -@go_include@ encoding/base64.lo.dep -encoding/base64.lo.dep: $(srcdir)/go/encoding/base64/*.go - $(BUILDDEPS) -encoding/base64.lo: - $(BUILDPACKAGE) -encoding/base64/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/base64/check - -@go_include@ encoding/binary.lo.dep -encoding/binary.lo.dep: $(srcdir)/go/encoding/binary/*.go - $(BUILDDEPS) -encoding/binary.lo: - $(BUILDPACKAGE) -encoding/binary/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/binary/check - -@go_include@ encoding/csv.lo.dep -encoding/csv.lo.dep: $(srcdir)/go/encoding/csv/*.go - $(BUILDDEPS) -encoding/csv.lo: - $(BUILDPACKAGE) -encoding/csv/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/csv/check - -@go_include@ encoding/gob.lo.dep -encoding/gob.lo.dep: $(srcdir)/go/encoding/gob/*.go - $(BUILDDEPS) -encoding/gob.lo: - $(BUILDPACKAGE) -encoding/gob/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/gob/check - -@go_include@ encoding/hex.lo.dep -encoding/hex.lo.dep: $(srcdir)/go/encoding/hex/*.go - $(BUILDDEPS) -encoding/hex.lo: - $(BUILDPACKAGE) -encoding/hex/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/hex/check - -@go_include@ encoding/json.lo.dep -encoding/json.lo.dep: $(srcdir)/go/encoding/json/*.go - $(BUILDDEPS) -encoding/json.lo: - $(BUILDPACKAGE) -encoding/json/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/json/check - -@go_include@ encoding/pem.lo.dep -encoding/pem.lo.dep: $(srcdir)/go/encoding/pem/*.go - $(BUILDDEPS) -encoding/pem.lo: - $(BUILDPACKAGE) -encoding/pem/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/pem/check - -@go_include@ encoding/xml.lo.dep -encoding/xml.lo.dep: $(srcdir)/go/encoding/xml/*.go - $(BUILDDEPS) -encoding/xml.lo: - $(BUILDPACKAGE) -encoding/xml/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/xml/check - -@go_include@ exp/proxy.lo.dep -exp/proxy.lo.dep: $(srcdir)/go/exp/proxy/*.go - $(BUILDDEPS) -exp/proxy.lo: - $(BUILDPACKAGE) -exp/proxy/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: exp/proxy/check - -@go_include@ exp/terminal.lo.dep -exp/terminal.lo.dep: $(srcdir)/go/exp/terminal/*.go - $(BUILDDEPS) -exp/terminal.lo: - $(BUILDPACKAGE) -exp/terminal/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: exp/terminal/check - -@go_include@ html/template.lo.dep -html/template.lo.dep: $(srcdir)/go/html/template/*.go - $(BUILDDEPS) -html/template.lo: - $(BUILDPACKAGE) -html/template/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: html/template/check - -@go_include@ go/ast.lo.dep -go/ast.lo.dep: $(srcdir)/go/go/ast/*.go - $(BUILDDEPS) -go/ast.lo: - $(BUILDPACKAGE) -go/ast/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/ast/check - -@go_include@ go/build.lo.dep -go/build.lo.dep: $(srcdir)/go/go/build/*.go - $(BUILDDEPS) -go/build.lo: - $(BUILDPACKAGE) -go/build/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/build/check - -@go_include@ go/constant.lo.dep -go/constant.lo.dep: $(srcdir)/go/go/constant/*.go - $(BUILDDEPS) -go/constant.lo: - $(BUILDPACKAGE) -go/constant/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/constant/check - -@go_include@ go/doc.lo.dep -go/doc.lo.dep: $(srcdir)/go/go/doc/*.go - $(BUILDDEPS) -go/doc.lo: - $(BUILDPACKAGE) -go/doc/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/doc/check - -@go_include@ go/format.lo.dep -go/format.lo.dep: $(srcdir)/go/go/format/*.go - $(BUILDDEPS) -go/format.lo: - $(BUILDPACKAGE) -go/format/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/format/check - -@go_include@ go/importer.lo.dep -go/importer.lo.dep: $(srcdir)/go/go/importer/*.go - $(BUILDDEPS) -go/importer.lo: - $(BUILDPACKAGE) -go/importer/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/importer/check - -@go_include@ go/parser.lo.dep -go/parser.lo.dep: $(srcdir)/go/go/parser/*.go - $(BUILDDEPS) -go/parser.lo: - $(BUILDPACKAGE) -go/parser/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/parser/check - -@go_include@ go/printer.lo.dep -go/printer.lo.dep: $(srcdir)/go/go/printer/*.go - $(BUILDDEPS) -go/printer.lo: - $(BUILDPACKAGE) -go/printer/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/printer/check - -@go_include@ go/scanner.lo.dep -go/scanner.lo.dep: $(srcdir)/go/go/scanner/*.go - $(BUILDDEPS) -go/scanner.lo: - $(BUILDPACKAGE) -go/scanner/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/scanner/check - -@go_include@ go/token.lo.dep -go/token.lo.dep: $(srcdir)/go/go/token/*.go - $(BUILDDEPS) -go/token.lo: - $(BUILDPACKAGE) -go/token/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/token/check - -@go_include@ go/types.lo.dep -go/types.lo.dep: $(srcdir)/go/go/types/*.go - $(BUILDDEPS) -go/types.lo: - $(BUILDPACKAGE) -go/types/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/types/check - -@go_include@ go/internal/gcimporter.lo.dep -go/internal/gcimporter.lo.dep: $(srcdir)/go/go/internal/gcimporter/*.go - $(BUILDDEPS) -go/internal/gcimporter.lo: - $(BUILDPACKAGE) -go/internal/gcimporter/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/internal/gcimporter/check - -@go_include@ go/internal/gccgoimporter.lo.dep -go/internal/gccgoimporter.lo.dep: $(srcdir)/go/go/internal/gccgoimporter/*.go - $(BUILDDEPS) -go/internal/gccgoimporter.lo: - $(BUILDPACKAGE) -go/internal/gccgoimporter/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/internal/gccgoimporter/check - -@go_include@ golang_org/x/net/http2/hpack.lo.dep -golang_org/x/net/http2/hpack.lo.dep: $(srcdir)/go/golang_org/x/net/http2/hpack/*.go - $(BUILDDEPS) -golang_org/x/net/http2/hpack.lo: - $(BUILDPACKAGE) -golang_org/x/net/http2/hpack/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: golang_org/x/net/http2/hpack/check - -@go_include@ golang_org/x/net/lex/httplex.lo.dep -golang_org/x/net/lex/httplex.lo.dep: $(srcdir)/go/golang_org/x/net/lex/httplex/*.go - $(BUILDDEPS) -golang_org/x/net/lex/httplex.lo: - $(BUILDPACKAGE) -golang_org/x/net/lex/httplex/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: golang_org/x/net/lex/httplex/check +runtime_internal_atomic_lo_GOCFLAGS = -fgo-compiling-runtime +runtime_internal_atomic_lo_check_GOCFLAGS = -fgo-compiling-runtime +runtime_internal_sys_lo_GOCFLAGS = -fgo-compiling-runtime +runtime_internal_sys_lo_check_GOCFLAGS = -fgo-compiling-runtime -if LIBGO_IS_BSD +# At least for now, we need -static-libgo for this test, because +# otherwise we can't get the line numbers. +# Also use -fno-inline to get better results from the memory profiler. +runtime_pprof_check_GOCFLAGS = -static-libgo -fno-inline -golang_org_x_net_route_lo = \ - golang_org/x/net/route/route.lo -golang_org_x_net_route_check = \ - golang_org/x/net/route/check +extra_go_files_runtime_internal_sys = version.go +runtime/internal/sys.lo.dep: $(extra_go_files_runtime_internal_sys) -@go_include@ golang_org/x/net/route.lo.dep -golang_org/x/net/route.lo.dep: $(srcdir)/go/golang_org/x/net/route/*.go - $(BUILDDEPS) -golang_org/x/net/route.lo: - $(BUILDPACKAGE) -golang_org/x/net/route/check: $(CHECK_DEPS) - @$(CHECK) +# FIXME: The following C files may as well move to the runtime +# directory and be treated like other C files. -endif +# Use C code to speed up {bytes,strings}.IndexByte and friends. +bytes/index.lo: go/bytes/indexbyte.c runtime.inc + @$(MKDIR_P) bytes + $(LTCOMPILE) -c -o $@ $(srcdir)/go/bytes/indexbyte.c +strings/index.lo: go/strings/indexbyte.c runtime.inc + @$(MKDIR_P) strings + $(LTCOMPILE) -c -o $@ $(srcdir)/go/strings/indexbyte.c -.PHONY: golang_org/x/net/route/check - -@go_include@ hash/adler32.lo.dep -hash/adler32.lo.dep: $(srcdir)/go/hash/adler32/*.go - $(BUILDDEPS) -hash/adler32.lo: - $(BUILDPACKAGE) -hash/adler32/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/adler32/check - -@go_include@ hash/crc32.lo.dep -hash/crc32.lo.dep: $(srcdir)/go/hash/crc32/*.go - $(BUILDDEPS) -hash/crc32.lo: - $(BUILDPACKAGE) -hash/crc32/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/crc32/check - -@go_include@ hash/crc64.lo.dep -hash/crc64.lo.dep: $(srcdir)/go/hash/crc64/*.go - $(BUILDDEPS) -hash/crc64.lo: - $(BUILDPACKAGE) -hash/crc64/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/crc64/check - -@go_include@ hash/fnv.lo.dep -hash/fnv.lo.dep: $(srcdir)/go/hash/fnv/*.go - $(BUILDDEPS) -hash/fnv.lo: - $(BUILDPACKAGE) -hash/fnv/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/fnv/check - -@go_include@ image/color.lo.dep -image/color.lo.dep: $(srcdir)/go/image/color/*.go - $(BUILDDEPS) -image/color.lo: - $(BUILDPACKAGE) -image/color/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/color/check - -@go_include@ image/color/palette.lo.dep -image/color/palette.lo.dep: $(srcdir)/go/image/color/palette/*.go - $(BUILDDEPS) -image/color/palette.lo: - $(BUILDPACKAGE) -image/color/palette/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/color/palette/check - -@go_include@ image/draw.lo.dep -image/draw.lo.dep: $(srcdir)/go/image/draw/*.go - $(BUILDDEPS) -image/draw.lo: - $(BUILDPACKAGE) -image/draw/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/draw/check - -@go_include@ image/gif.lo.dep -image/gif.lo.dep: $(srcdir)/go/image/gif/*.go - $(BUILDDEPS) -image/gif.lo: - $(BUILDPACKAGE) -image/gif/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/gif/check - -@go_include@ image/internal/imageutil.lo.dep -image/internal/imageutil.lo.dep: $(srcdir)/go/image/internal/imageutil/*.go - $(BUILDDEPS) -image/internal/imageutil.lo: - $(BUILDPACKAGE) -image/internal/imageutil/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/internal/imageutil/check - -@go_include@ image/jpeg.lo.dep -image/jpeg.lo.dep: $(srcdir)/go/image/jpeg/*.go - $(BUILDDEPS) -image/jpeg.lo: - $(BUILDPACKAGE) -image/jpeg/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/jpeg/check - -@go_include@ image/png.lo.dep -image/png.lo.dep: $(srcdir)/go/image/png/*.go - $(BUILDDEPS) -image/png.lo: - $(BUILDPACKAGE) -image/png/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/png/check - -@go_include@ index/suffixarray.lo.dep -index/suffixarray.lo.dep: $(srcdir)/go/index/suffixarray/*.go - $(BUILDDEPS) -index/suffixarray.lo: - $(BUILDPACKAGE) -index/suffixarray/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: index/suffixarray/check - -@go_include@ internal/nettrace.lo.dep -internal/nettrace.lo.dep: $(srcdir)/go/internal/nettrace/*.go - $(BUILDDEPS) -internal/nettrace.lo: - $(BUILDPACKAGE) -internal/nettrace/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: internal/nettrace/check - -@go_include@ internal/race.lo.dep -internal/race.lo.dep: $(srcdir)/go/internal/race/*.go - $(BUILDDEPS) -internal/race.lo: - $(BUILDPACKAGE) -internal/race/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: internal/race/check - -@go_include@ internal/singleflight.lo.dep -internal/singleflight.lo.dep: $(srcdir)/go/internal/singleflight/*.go - $(BUILDDEPS) -internal/singleflight.lo: - $(BUILDPACKAGE) -internal/singleflight/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: internal/singleflight/check - -@go_include@ internal/syscall/unix.lo.dep -internal/syscall/unix.lo.dep: $(srcdir)/go/internal/syscall/unix/*.go - $(BUILDDEPS) -internal/syscall/unix.lo: - $(BUILDPACKAGE) -internal/syscall/unix/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: internal/syscall/unix/check - -@go_include@ internal/testenv.lo.dep -internal/testenv.lo.dep: $(srcdir)/go/internal/testenv/*.go - $(BUILDDEPS) -internal/testenv.lo: - $(BUILDPACKAGE) -internal/testenv/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: internal/testenv/check - -@go_include@ internal/trace.lo.dep -internal/trace.lo.dep: $(srcdir)/go/internal/trace/*.go - $(BUILDDEPS) -internal/trace.lo: - $(BUILDPACKAGE) -internal/trace/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: internal/trace/check - -@go_include@ io/ioutil.lo.dep -io/ioutil.lo.dep: $(srcdir)/go/io/ioutil/*.go - $(BUILDDEPS) -io/ioutil.lo: - $(BUILDPACKAGE) -io/ioutil/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: io/ioutil/check - -@go_include@ log/syslog.lo.dep -log/syslog.lo.dep: $(srcdir)/go/log/syslog/*.go - $(BUILDDEPS) -log/syslog.lo: - $(BUILDPACKAGE) -log/syslog/syslog_c.lo: go/log/syslog/syslog_c.c runtime.inc log/syslog.lo +# Use a C function with a fixed number of arguments to call a C +# varargs function. +log/syslog/syslog_c.lo: go/log/syslog/syslog_c.c runtime.inc @$(MKDIR_P) log/syslog $(LTCOMPILE) -c -o $@ $(srcdir)/go/log/syslog/syslog_c.c -log/syslog/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: log/syslog/check - -@go_include@ math/big.lo.dep -math/big.lo.dep: $(srcdir)/go/math/big/*.go - $(BUILDDEPS) -math/big.lo: - $(BUILDPACKAGE) -math/big/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: math/big/check - -@go_include@ math/cmplx.lo.dep -math/cmplx.lo.dep: $(srcdir)/go/math/cmplx/*.go - $(BUILDDEPS) -math/cmplx.lo: - $(BUILDPACKAGE) -math/cmplx/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: math/cmplx/check - -@go_include@ math/rand.lo.dep -math/rand.lo.dep: $(srcdir)/go/math/rand/*.go - $(BUILDDEPS) -math/rand.lo: - $(BUILDPACKAGE) -math/rand/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: math/rand/check - -@go_include@ mime/multipart.lo.dep -mime/multipart.lo.dep: $(srcdir)/go/mime/multipart/*.go - $(BUILDDEPS) -mime/multipart.lo: - $(BUILDPACKAGE) -mime/multipart/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: mime/multipart/check - -@go_include@ mime/quotedprintable.lo.dep -mime/quotedprintable.lo.dep: $(srcdir)/go/mime/quotedprintable/*.go - $(BUILDDEPS) -mime/quotedprintable.lo: - $(BUILDPACKAGE) -mime/quotedprintable/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: mime/quotedprintable/check - -@go_include@ net/http.lo.dep -net/http.lo.dep: $(srcdir)/go/net/http/*.go - $(BUILDDEPS) -net/http.lo: - $(BUILDPACKAGE) -net/http/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/check - -@go_include@ net/mail.lo.dep -net/mail.lo.dep: $(srcdir)/go/net/mail/*.go - $(BUILDDEPS) -net/mail.lo: - $(BUILDPACKAGE) -net/mail/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/mail/check - -@go_include@ net/rpc.lo.dep -net/rpc.lo.dep: $(srcdir)/go/net/rpc/*.go - $(BUILDDEPS) -net/rpc.lo: - $(BUILDPACKAGE) -net/rpc/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/rpc/check - -@go_include@ net/smtp.lo.dep -net/smtp.lo.dep: $(srcdir)/go/net/smtp/*.go - $(BUILDDEPS) -net/smtp.lo: - $(BUILDPACKAGE) -net/smtp/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/smtp/check - -@go_include@ net/url.lo.dep -net/url.lo.dep: $(srcdir)/go/net/url/*.go - $(BUILDDEPS) -net/url.lo: - $(BUILDPACKAGE) -net/url/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/url/check - -@go_include@ net/textproto.lo.dep -net/textproto.lo.dep: $(srcdir)/go/net/textproto/*.go - $(BUILDDEPS) -net/textproto.lo: - $(BUILDPACKAGE) -net/textproto/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/textproto/check - -@go_include@ net/http/cgi.lo.dep -net/http/cgi.lo.dep: $(srcdir)/go/net/http/cgi/*.go - $(BUILDDEPS) -net/http/cgi.lo: - $(BUILDPACKAGE) -net/http/cgi/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/cgi/check - -@go_include@ net/http/cookiejar.lo.dep -net/http/cookiejar.lo.dep: $(srcdir)/go/net/http/cookiejar/*.go - $(BUILDDEPS) -net/http/cookiejar.lo: - $(BUILDPACKAGE) -net/http/cookiejar/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/cookiejar/check - -@go_include@ net/http/fcgi.lo.dep -net/http/fcgi.lo.dep: $(srcdir)/go/net/http/fcgi/*.go - $(BUILDDEPS) -net/http/fcgi.lo: - $(BUILDPACKAGE) -net/http/fcgi/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/fcgi/check - -@go_include@ net/http/httptest.lo.dep -net/http/httptest.lo.dep: $(srcdir)/go/net/http/httptest/*.go - $(BUILDDEPS) -net/http/httptest.lo: - $(BUILDPACKAGE) -net/http/httptest/check: $(check_deps) - @$(CHECK) -.PHONY: net/http/httptest/check - -@go_include@ net/http/httptrace.lo.dep -net/http/httptrace.lo.dep: $(srcdir)/go/net/http/httptrace/*.go - $(BUILDDEPS) -net/http/httptrace.lo: - $(BUILDPACKAGE) -net/http/httptrace/check: $(check_deps) - @$(CHECK) -.PHONY: net/http/httptrace/check - -@go_include@ net/http/httputil.lo.dep -net/http/httputil.lo.dep: $(srcdir)/go/net/http/httputil/*.go - $(BUILDDEPS) -net/http/httputil.lo: - $(BUILDPACKAGE) -net/http/httputil/check: $(check_deps) - @$(CHECK) -.PHONY: net/http/httputil/check - -@go_include@ net/http/internal.lo.dep -net/http/internal.lo.dep: $(srcdir)/go/net/http/internal/*.go - $(BUILDDEPS) -net/http/internal.lo: - $(BUILDPACKAGE) -net/http/internal/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/internal/check - -@go_include@ net/http/pprof.lo.dep -net/http/pprof.lo.dep: $(srcdir)/go/net/http/pprof/*.go - $(BUILDDEPS) -net/http/pprof.lo: - $(BUILDPACKAGE) -net/http/pprof/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/pprof/check - -@go_include@ net/internal/socktest.lo.dep -net/internal/socktest.lo.dep: $(srcdir)/go/net/internal/socktest/*.go - $(BUILDDEPS) -net/internal/socktest.lo: - $(BUILDPACKAGE) -net/internal/socktest/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/internal/socktest/check - -@go_include@ net/rpc/jsonrpc.lo.dep -net/rpc/jsonrpc.lo.dep: $(srcdir)/go/net/rpc/jsonrpc/*.go - $(BUILDDEPS) -net/rpc/jsonrpc.lo: - $(BUILDPACKAGE) -net/rpc/jsonrpc/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/rpc/jsonrpc/check - -@go_include@ old/regexp.lo.dep -old/regexp.lo.dep: $(srcdir)/go/old/regexp/*.go - $(BUILDDEPS) -old/regexp.lo: - $(BUILDPACKAGE) -old/regexp/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: old/regexp/check - -@go_include@ old/template.lo.dep -old/template.lo.dep: $(srcdir)/go/old/template/*.go - $(BUILDDEPS) -old/template.lo: - $(BUILDPACKAGE) -old/template/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: old/template/check - -@go_include@ os/exec.lo.dep -os/exec.lo.dep: $(srcdir)/go/os/exec/*.go - $(BUILDDEPS) -os/exec.lo: - $(BUILDPACKAGE) -os/exec/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/exec/check - -@go_include@ os/signal.lo.dep -os/signal.lo.dep: $(srcdir)/go/os/signal/*.go - $(BUILDDEPS) -os/signal.lo: - $(BUILDPACKAGE) -os/signal/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/signal/check - -@go_include@ os/user.lo.dep -os/user.lo.dep: $(srcdir)/go/os/user/*.go - $(BUILDDEPS) -os/user.lo: - $(BUILDPACKAGE) -os/user/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/user/check - -@go_include@ path/filepath.lo.dep -path/filepath.lo.dep: $(srcdir)/go/path/filepath/*.go - $(BUILDDEPS) -path/filepath.lo: - $(BUILDPACKAGE) -path/filepath/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: path/filepath/check - -@go_include@ regexp/syntax.lo.dep -regexp/syntax.lo.dep: $(srcdir)/go/regexp/syntax/*.go - $(BUILDDEPS) -regexp/syntax.lo: - $(BUILDPACKAGE) -regexp/syntax/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: regexp/syntax/check - -@go_include@ runtime/debug.lo.dep -runtime/debug.lo.dep: $(srcdir)/go/runtime/debug/*.go - $(BUILDDEPS) -runtime/debug.lo: - $(BUILDPACKAGE) -runtime/debug/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/debug/check - -@go_include@ runtime/pprof.lo.dep -runtime/pprof.lo.dep: $(srcdir)/go/runtime/pprof/*.go - $(BUILDDEPS) -runtime/pprof.lo: - $(BUILDPACKAGE) -runtime/pprof/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/pprof/check -# At least for now, we need -static-libgo for this test, because -# otherwise we can't get the line numbers. -# Also use -fno-inline to get better results from the memory profiler. -runtime_pprof_check_GOCFLAGS = -static-libgo -fno-inline -@go_include@ runtime/internal/atomic.lo.dep -runtime/internal/atomic.lo.dep: $(srcdir)/go/runtime/internal/atomic/*.go - $(BUILDDEPS) -runtime_internal_atomic_lo_GOCFLAGS = -fgo-compiling-runtime -runtime/internal/atomic.lo: - $(BUILDPACKAGE) -runtime/internal/atomic_c.lo: go/runtime/internal/atomic/atomic.c runtime.inc runtime/internal/atomic.lo - $(LTCOMPILE) -c -o $@ $(srcdir)/go/runtime/internal/atomic/atomic.c -runtime/internal/atomic/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/internal/atomic/check - -extra_go_files_runtime_internal_sys = version.go +# The interface to libffi from the reflect package is written in C. +reflect/makefunc_ffi_c.lo: go/reflect/makefunc_ffi_c.c runtime.inc + @$(MKDIR_P) reflect + $(LTCOMPILE) -c -o $@ $(srcdir)/go/reflect/makefunc_ffi_c.c -@go_include@ runtime/internal/sys.lo.dep -runtime/internal/sys.lo.dep: $(srcdir)/go/runtime/internal/sys/*.go - $(BUILDDEPS) -runtime_internal_sys_lo_GOCFLAGS = -fgo-compiling-runtime -runtime/internal/sys.lo: - $(BUILDPACKAGE) -runtime/internal/sys/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/internal/sys/check - -@go_include@ sync/atomic.lo.dep -sync/atomic.lo.dep: $(srcdir)/go/sync/atomic/*.go - $(BUILDDEPS) -sync/atomic.lo: - $(BUILDPACKAGE) -sync/atomic_c.lo: go/sync/atomic/atomic.c runtime.inc sync/atomic.lo +# The atomic functions are written in C. +runtime/internal/atomic_c.lo: go/runtime/internal/atomic/atomic.c runtime.inc + @$(MKDIR_P) runtime/internal + $(LTCOMPILE) -c -o $@ $(srcdir)/go/runtime/internal/atomic/atomic.c +sync/atomic_c.lo: go/sync/atomic/atomic.c runtime.inc + @$(MKDIR_P) sync $(LTCOMPILE) -c -o $@ $(srcdir)/go/sync/atomic/atomic.c -sync/atomic/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: sync/atomic/check - -@go_include@ text/scanner.lo.dep -text/scanner.lo.dep: $(srcdir)/go/text/scanner/*.go - $(BUILDDEPS) -text/scanner.lo: - $(BUILDPACKAGE) -text/scanner/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/scanner/check - -@go_include@ text/tabwriter.lo.dep -text/tabwriter.lo.dep: $(srcdir)/go/text/tabwriter/*.go - $(BUILDDEPS) -text/tabwriter.lo: - $(BUILDPACKAGE) -text/tabwriter/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/tabwriter/check - -@go_include@ text/template.lo.dep -text/template.lo.dep: $(srcdir)/go/text/template/*.go - $(BUILDDEPS) -text/template.lo: - $(BUILDPACKAGE) -text/template/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/template/check - -@go_include@ text/template/parse.lo.dep -text/template/parse.lo.dep: $(srcdir)/go/text/template/parse/*.go - $(BUILDDEPS) -text/template/parse.lo: - $(BUILDPACKAGE) -text/template/parse/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/template/parse/check - -@go_include@ testing/iotest.lo.dep -testing/iotest.lo.dep: $(srcdir)/go/testing/iotest/*.go - $(BUILDDEPS) -testing/iotest.lo: - $(BUILDPACKAGE) -testing/iotest/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: testing/iotest/check - -@go_include@ testing/quick.lo.dep -testing/quick.lo.dep: $(srcdir)/go/testing/quick/*.go - $(BUILDDEPS) -testing/quick.lo: - $(BUILDPACKAGE) -testing/quick/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: testing/quick/check - -@go_include@ unicode/utf16.lo.dep -unicode/utf16.lo.dep: $(srcdir)/go/unicode/utf16/*.go - $(BUILDDEPS) -unicode/utf16.lo: - $(BUILDPACKAGE) -unicode/utf16/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: unicode/utf16/check - -@go_include@ unicode/utf8.lo.dep -unicode/utf8.lo.dep: $(srcdir)/go/unicode/utf8/*.go - $(BUILDDEPS) -unicode/utf8.lo: - $(BUILDPACKAGE) -unicode/utf8/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: unicode/utf8/check - -@go_include@ syscall.lo.dep -syscall.lo.dep: $(srcdir)/go/syscall/*.go $(extra_go_files_syscall) - $(BUILDDEPS) -syscall.lo: - $(BUILDPACKAGE) + +# A few syscall functions are written in C. syscall/clone_linux.lo: go/syscall/clone_linux.c runtime.inc @$(MKDIR_P) syscall - $(LTCOMPILE) -c -o $@ $< + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/clone_linux.c syscall/errno.lo: go/syscall/errno.c runtime.inc @$(MKDIR_P) syscall - $(LTCOMPILE) -c -o $@ $< + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/errno.c syscall/signame.lo: go/syscall/signame.c runtime.inc @$(MKDIR_P) syscall - $(LTCOMPILE) -c -o $@ $< + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/signame.c syscall/wait.lo: go/syscall/wait.c runtime.inc @$(MKDIR_P) syscall - $(LTCOMPILE) -c -o $@ $< -syscall/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: syscall/check - -# How to build a .gox file from a .lo file. -BUILDGOX = \ - f=`echo $< | sed -e 's/.lo$$/.o/'`; \ - $(OBJCOPY) -j .go_export $$f $@.tmp && mv -f $@.tmp $@ + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/wait.c -bufio.gox: bufio.lo - $(BUILDGOX) -bytes.gox: bytes.lo - $(BUILDGOX) -context.gox: context.lo - $(BUILDGOX) -crypto.gox: crypto.lo - $(BUILDGOX) -encoding.gox: encoding.lo - $(BUILDGOX) -errors.gox: errors.lo - $(BUILDGOX) -expvar.gox: expvar.lo - $(BUILDGOX) -flag.gox: flag.lo - $(BUILDGOX) -fmt.gox: fmt.lo - $(BUILDGOX) -hash.gox: hash.lo - $(BUILDGOX) -html.gox: html.lo - $(BUILDGOX) -image.gox: image.lo - $(BUILDGOX) -io.gox: io.lo - $(BUILDGOX) -log.gox: log.lo - $(BUILDGOX) -math.gox: math.lo - $(BUILDGOX) -mime.gox: mime.lo - $(BUILDGOX) -net.gox: net.lo - $(BUILDGOX) -os.gox: os.lo - $(BUILDGOX) -path.gox: path.lo - $(BUILDGOX) -reflect.gox: reflect-go.lo - $(BUILDGOX) -regexp.gox: regexp.lo - $(BUILDGOX) -runtime.gox: runtime-go.lo - $(BUILDGOX) -sort.gox: sort.lo - $(BUILDGOX) -strconv.gox: strconv.lo - $(BUILDGOX) -strings.gox: strings.lo - $(BUILDGOX) -sync.gox: sync.lo - $(BUILDGOX) -syscall.gox: syscall.lo - $(BUILDGOX) -testing.gox: testing.lo - $(BUILDGOX) -time.gox: time-go.lo - $(BUILDGOX) -unicode.gox: unicode.lo - $(BUILDGOX) - -archive/tar.gox: archive/tar.lo - $(BUILDGOX) -archive/zip.gox: archive/zip.lo - $(BUILDGOX) - -compress/bzip2.gox: compress/bzip2.lo - $(BUILDGOX) -compress/flate.gox: compress/flate.lo - $(BUILDGOX) -compress/gzip.gox: compress/gzip.lo - $(BUILDGOX) -compress/lzw.gox: compress/lzw.lo - $(BUILDGOX) -compress/zlib.gox: compress/zlib.lo - $(BUILDGOX) - -container/heap.gox: container/heap.lo - $(BUILDGOX) -container/list.gox: container/list.lo - $(BUILDGOX) -container/ring.gox: container/ring.lo - $(BUILDGOX) - -crypto/aes.gox: crypto/aes.lo - $(BUILDGOX) -crypto/cipher.gox: crypto/cipher.lo - $(BUILDGOX) -crypto/des.gox: crypto/des.lo - $(BUILDGOX) -crypto/dsa.gox: crypto/dsa.lo - $(BUILDGOX) -crypto/ecdsa.gox: crypto/ecdsa.lo - $(BUILDGOX) -crypto/elliptic.gox: crypto/elliptic.lo - $(BUILDGOX) -crypto/hmac.gox: crypto/hmac.lo - $(BUILDGOX) -crypto/md5.gox: crypto/md5.lo - $(BUILDGOX) -crypto/rand.gox: crypto/rand.lo - $(BUILDGOX) -crypto/rc4.gox: crypto/rc4.lo - $(BUILDGOX) -crypto/rsa.gox: crypto/rsa.lo - $(BUILDGOX) -crypto/sha1.gox: crypto/sha1.lo - $(BUILDGOX) -crypto/sha256.gox: crypto/sha256.lo - $(BUILDGOX) -crypto/sha512.gox: crypto/sha512.lo - $(BUILDGOX) -crypto/subtle.gox: crypto/subtle.lo - $(BUILDGOX) -crypto/tls.gox: crypto/tls.lo - $(BUILDGOX) -crypto/x509.gox: crypto/x509.lo - $(BUILDGOX) - -crypto/x509/pkix.gox: crypto/x509/pkix.lo - $(BUILDGOX) - -database/sql.gox: database/sql.lo - $(BUILDGOX) - -database/sql/driver.gox: database/sql/driver.lo - $(BUILDGOX) - -debug/dwarf.gox: debug/dwarf.lo - $(BUILDGOX) -debug/elf.gox: debug/elf.lo - $(BUILDGOX) -debug/gosym.gox: debug/gosym.lo - $(BUILDGOX) -debug/macho.gox: debug/macho.lo - $(BUILDGOX) -debug/pe.gox: debug/pe.lo - $(BUILDGOX) -debug/plan9obj.gox: debug/plan9obj.lo - $(BUILDGOX) - -encoding/ascii85.gox: encoding/ascii85.lo - $(BUILDGOX) -encoding/asn1.gox: encoding/asn1.lo - $(BUILDGOX) -encoding/base32.gox: encoding/base32.lo - $(BUILDGOX) -encoding/base64.gox: encoding/base64.lo - $(BUILDGOX) -encoding/binary.gox: encoding/binary.lo - $(BUILDGOX) -encoding/csv.gox: encoding/csv.lo - $(BUILDGOX) -encoding/gob.gox: encoding/gob.lo - $(BUILDGOX) -encoding/hex.gox: encoding/hex.lo - $(BUILDGOX) -encoding/json.gox: encoding/json.lo - $(BUILDGOX) -encoding/pem.gox: encoding/pem.lo - $(BUILDGOX) -encoding/xml.gox: encoding/xml.lo - $(BUILDGOX) - -exp/proxy.gox: exp/proxy.lo - $(BUILDGOX) -exp/terminal.gox: exp/terminal.lo - $(BUILDGOX) - -html/template.gox: html/template.lo - $(BUILDGOX) - -go/ast.gox: go/ast.lo - $(BUILDGOX) -go/build.gox: go/build.lo - $(BUILDGOX) -go/constant.gox: go/constant.lo - $(BUILDGOX) -go/doc.gox: go/doc.lo - $(BUILDGOX) -go/format.gox: go/format.lo - $(BUILDGOX) -go/importer.gox: go/importer.lo - $(BUILDGOX) -go/parser.gox: go/parser.lo - $(BUILDGOX) -go/printer.gox: go/printer.lo - $(BUILDGOX) -go/scanner.gox: go/scanner.lo - $(BUILDGOX) -go/token.gox: go/token.lo - $(BUILDGOX) -go/types.gox: go/types.lo - $(BUILDGOX) - -go/internal/gcimporter.gox: go/internal/gcimporter.lo - $(BUILDGOX) -go/internal/gccgoimporter.gox: go/internal/gccgoimporter.lo - $(BUILDGOX) - -golang_org/x/net/http2/hpack.gox: golang_org/x/net/http2/hpack.lo - $(BUILDGOX) - -golang_org/x/net/lex/httplex.gox: golang_org/x/net/lex/httplex.lo - $(BUILDGOX) +# Solaris 12 changed the type of fields in struct stat. +# Use a build tag, based on a configure check, to cope. +if LIBGO_IS_SOLARIS +if HAVE_STAT_TIMESPEC +matchargs_os = --tag=solaristag +else +matchargs_os = +endif +else +matchargs_os = +endif if LIBGO_IS_BSD -golang_org/x/net/route.gox: golang_org/x/net/route.lo - $(BUILDGOX) -endif -hash/adler32.gox: hash/adler32.lo - $(BUILDGOX) -hash/crc32.gox: hash/crc32.lo - $(BUILDGOX) -hash/crc64.gox: hash/crc64.lo - $(BUILDGOX) -hash/fnv.gox: hash/fnv.lo - $(BUILDGOX) - -image/color.gox: image/color.lo - $(BUILDGOX) -image/draw.gox: image/draw.lo - $(BUILDGOX) -image/gif.gox: image/gif.lo - $(BUILDGOX) -image/internal/imageutil.gox: image/internal/imageutil.lo - $(BUILDGOX) -image/jpeg.gox: image/jpeg.lo - $(BUILDGOX) -image/png.gox: image/png.lo - $(BUILDGOX) - -image/color/palette.gox: image/color/palette.lo - $(BUILDGOX) - -index/suffixarray.gox: index/suffixarray.lo - $(BUILDGOX) - -internal/nettrace.gox: internal/nettrace.lo - $(BUILDGOX) -internal/race.gox: internal/race.lo - $(BUILDGOX) -internal/singleflight.gox: internal/singleflight.lo - $(BUILDGOX) -internal/syscall/unix.gox: internal/syscall/unix.lo - $(BUILDGOX) -internal/testenv.gox: internal/testenv.lo - $(BUILDGOX) -internal/trace.gox: internal/trace.lo - $(BUILDGOX) - -io/ioutil.gox: io/ioutil.lo - $(BUILDGOX) - -log/syslog.gox: log/syslog.lo - $(BUILDGOX) - -math/big.gox: math/big.lo - $(BUILDGOX) -math/cmplx.gox: math/cmplx.lo - $(BUILDGOX) -math/rand.gox: math/rand.lo - $(BUILDGOX) - -mime/multipart.gox: mime/multipart.lo - $(BUILDGOX) -mime/quotedprintable.gox: mime/quotedprintable.lo - $(BUILDGOX) - -net/http.gox: net/http.lo - $(BUILDGOX) -net/mail.gox: net/mail.lo - $(BUILDGOX) -net/rpc.gox: net/rpc.lo - $(BUILDGOX) -net/smtp.gox: net/smtp.lo - $(BUILDGOX) -net/textproto.gox: net/textproto.lo - $(BUILDGOX) -net/url.gox: net/url.lo - $(BUILDGOX) - -net/http/cgi.gox: net/http/cgi.lo - $(BUILDGOX) -net/http/cookiejar.gox: net/http/cookiejar.lo - $(BUILDGOX) -net/http/fcgi.gox: net/http/fcgi.lo - $(BUILDGOX) -net/http/httptest.gox: net/http/httptest.lo - $(BUILDGOX) -net/http/httptrace.gox: net/http/httptrace.lo - $(BUILDGOX) -net/http/httputil.gox: net/http/httputil.lo - $(BUILDGOX) -net/http/pprof.gox: net/http/pprof.lo - $(BUILDGOX) - -net/http/internal.gox: net/http/internal.lo - $(BUILDGOX) - -net/internal/socktest.gox: net/internal/socktest.lo - $(BUILDGOX) - -net/rpc/jsonrpc.gox: net/rpc/jsonrpc.lo - $(BUILDGOX) - -old/regexp.gox: old/regexp.lo - $(BUILDGOX) -old/template.gox: old/template.lo - $(BUILDGOX) - -os/exec.gox: os/exec.lo - $(BUILDGOX) -os/signal.gox: os/signal.lo - $(BUILDGOX) -os/user.gox: os/user.lo - $(BUILDGOX) - -path/filepath.gox: path/filepath.lo - $(BUILDGOX) - -regexp/syntax.gox: regexp/syntax.lo - $(BUILDGOX) - -runtime/debug.gox: runtime/debug.lo - $(BUILDGOX) -runtime/pprof.gox: runtime/pprof.lo - $(BUILDGOX) -runtime/internal/atomic.gox: runtime/internal/atomic.lo - $(BUILDGOX) -runtime/internal/sys.gox: runtime/internal/sys.lo - $(BUILDGOX) - -sync/atomic.gox: sync/atomic.lo - $(BUILDGOX) - -text/scanner.gox: text/scanner.lo - $(BUILDGOX) -text/tabwriter.gox: text/tabwriter.lo - $(BUILDGOX) -text/template.gox: text/template.lo - $(BUILDGOX) -text/template/parse.gox: text/template/parse.lo - $(BUILDGOX) - -testing/iotest.gox: testing/iotest.lo - $(BUILDGOX) -testing/quick.gox: testing/quick.lo - $(BUILDGOX) - -unicode/utf16.gox: unicode/utf16.lo - $(BUILDGOX) -unicode/utf8.gox: unicode/utf8.lo - $(BUILDGOX) +# Build golang_org/x/net/route only on BSD systems. + +$(eval $(call PACKAGE_template,golang_org/x/net/route) + +golang_org_x_net_route_lo = \ + golang_org/x/net/route/route.lo +golang_org_x_net_route_check = \ + golang_org/x/net/route/check + +endif TEST_PACKAGES = \ bufio/check \ -- cgit v1.2.3