2018-07-26  Release Manager

	* GCC 8.2.0 released.

2018-05-31  Ian Lance Taylor  <iant@golang.org>

	Backport from mainline:
	2018-05-09  Ian Lance Taylor  <iant@golang.org>
	* Makefile.am (check-go-tool): Don't copy zstdpkglist.go.
	* Makefile.in: Rebuild.

2018-05-04  Ian Lance Taylor  <iant@golang.org>

	PR go/85630
	* Makefile.am (CHECK_ENV): Set GOCACHE.
	(ECHO_ENV): Update for setting of GOCACHE.
	* Makefile.in: Rebuild.

2018-05-02  Release Manager

	* GCC 8.1.0 released.

2018-21-03  Uros Bizjak  <ubizjak@gmail.com>

	* Makefile.am (check-runtime): Pass -test.timeout
	with GOTOOLS_TEST_TIMEOUT.
	* Makefile.in: Rebuild.

2018-02-09  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (GOTOOLS_TEST_TIMEOUT): Double value.

2018-02-08  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (check-gccgo, check-gcc): Add options to pick up
	target libstdc++, to permit tests that use C++.
	* Makefile.in: Rebuild.

2018-01-18  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (GOTOOLS_TEST_TIMEOUT): Define.
	(check-go-tool): Pass -test.timeout with GOTOOLS_TEST_TIMEOUT.
	(check-cgo-test, check-carchive-test, check-vet): Likewise.
	* Makefile.in: Rebuild.

2018-01-08  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (go_cmd_vet_files): New variable.
	(go_cmd_buildid_files, go_cmd_test2json_files): New variables.
	(s-zdefaultcc): Change from constants to functions.
	(noinst_PROGRAMS): Add vet, buildid, and test2json.
	(cgo$(EXEEXT)): Link against $(LIBGOTOOL).
	(vet$(EXEEXT)): New target.
	(buildid$(EXEEXT)): New target.
	(test2json$(EXEEXT)): New target.
	(install-exec-local): Install all $(noinst_PROGRAMS).
	(uninstall-local): Uninstasll all $(noinst_PROGRAMS).
	(check-go-tool): Depend on $(noinst_PROGRAMS).  Copy down
	objabi.go.
	(check-runtime): Depend on $(noinst_PROGRAMS).
	(check-cgo-test, check-carchive-test): Likewise.
	(check-vet): New target.
	(check): Depend on check-vet.  Look at cmd_vet-testlog.
	(.PHONY): Add check-vet.
	* Makefile.in: Rebuild.

2017-10-25  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (check-go-tool): Output colon after ${fl}.
	(check-runtime, check-cgo-test, check-carchive-test): Likewise.
	* Makefile.in: Rebuild.

2017-09-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (GOTESTFLAGS): New variable.
	(check-runtime): Pass it to gotest.
	(check-go-tools): Sort summary.
	(check-runtime): Likewise.
	(check-cgo-test): Likewise.
	(check-carchive-test): Likewise.
	(check): Likewise.
	* Makefile.in: Regenerate.

2017-09-14  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (LIBGOTOOL): Define.
	(go_cmd_go_files): Update for Go 1.9 release.
	(go$(EXEEXT)): Depend on and link against $(LIBGOTOOL).
	(CHECK_ENV): Add definition of shell variable fl.
	(check-go-tool): Update for rearrangement of cmd/go sources in Go
	1.9 release.  Echo failure message if test fails.
	(check-runtime): Echo failure message if test fails.
	(check-cgo-test, check-carchive-test): Likewise.
	* Makefile.in: Rebuild.

2017-08-30  Ian Lance Taylor  <iant@golang.org>

	* configure.ac: Substitute GOC_FOR_TARGET and GCC_FOR_TARGET.
	* Makefile.am (MOSTLYCLEANFILES): Add check-gcc.
	(check-gccgo): Create via a temporary file.
	(check-gcc): New target.
	(CHECK_ENV): Set CC.
	(ECHO_ENV): Report CC.
	(check-go-tool): Depend on check-gcc.
	(check-runtime, check-cgo-test, check-carchive-test): Likewise.
	* configure, Makefile.in: Rebuild.

2017-07-26  Ian Lance Taylor  <iant@golang.org>

	PR go/81548
	* Makefile.am (MOSTLYCLEANFILES): Add *.sent.
	* Makefile.in: Rebuild.

2017-07-15  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (CHECK_ENV): Set GOROOT.
	(ECHO_ENV): Report setting GOROOT.
	* Makefile.in: Rebuild.

2017-06-29  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (MOSTLYCLEANFILES): Remove testing files and logs.
	(mostlyclean-local): Remove check-runtime-dir, cgo-test-dir,
	carchive-test-dir.
	(ECHO_ENV): Define.
	(check-go-tool): Depend on cgo.  Write command to testlog.
	(check-runtime): New target.
	(check-cgo-test): New target.
	(check-carchive-test): New target.
	(check): Depend on check-runtime, check-cgo-test,
	check-carchive-test.  Add @ to prettify output.
	(.PHONY): Add check-runtime, check-cgo-test, check-carchive-test.
	* Makefile.in: Rebuild.

2017-06-26  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
	or defaultCXX.
	* Makefile.in: Rebuild.

2017-06-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.am (check-go-tool): Don't use >& for I/O redirection.
	* Makefile.in: Regenerate.

2017-06-14  Ian Lance Taylor  <iant@golang.org>

	* Makefile.am (libgosrcdir): Define.
	(check-head, check-gccgo, check-go-tool): New targets.
	(CHECK_ENV): Define.
	(check): New target.
	(mostlyclean-local): New target.
	* Makefile.in: Rebuild.

2017-06-13  Ian Lance Taylor  <iant@golang.org>

	PR go/80964
	* configure.ac: Set NATIVE if host_alias = target_alias.
	* configure: Rebuild.

2017-05-18  Ian Lance Taylor  <iant@golang.org>

	PR go/80814
	* Makefile.am (AM_GOCFLAGS): Define.
	* Makefile.in: Rebuild.

2017-01-13  Ian Lance Taylor  <iant@golang.org>

	Updates for Go 1.8rc1.
	* Makefile.am (go_cmd_go_files): Add bug.go.
	(s-zdefaultcc): Write defaultPkgConfig.
	* Makefile.in: Rebuild.

2016-06-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	Update copyrights.

2016-02-03  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (go_cmd_gofmt_files): Update to Go 1.6rc1 by adding
	internal.go.
	* Makefile.in: Rebuild.

2015-12-02  Ian Lance Taylor  <iant@google.com>

	PR go/66147
	* Makefile.am (GOCOMPILER): In NATIVE case, add
	$(XGCC_FLAGS_FOR_TARGET).

2015-10-31  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by
	adding alldocs.go, doc.go, note.go.
	* Makefile.in: Rebuild.

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* Makefile.in: Regenerated with automake-1.11.6.
	* aclocal.m4: Likewise.
	* configure: Likewise.

2015-03-24  Ian Lance Taylor  <iant@google.com>

	PR go/65462
	* Makefile.am (go_cmd_go_files): Add $(libgodir)/zstdpkglist.go.
	* Makefile.in: Rebuild.

2015-03-12  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (GOLINK): Add GOCFLAGS.
	* Makefile.in: Rebuild.

2015-01-23  Ian Lance Taylor  <iant@google.com>

	PR go/64738
	* Makefile.am (AM_LDFLAGS): Remove -static-libgo.
	* Makefile.in: Rebuild.

2015-01-22  Ian Lance Taylor  <iant@google.com>

	PR go/64595
	* go.1, gofmt.1: New files.
	* Makefile.am (man_MANS): New variable.
	* Makefile.in: Rebuild.

2015-01-21  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (noinst_PROGRAMS): New variable.
	(libexecsub_PROGRAMS): Remove variable.
	(install-exec-local, uninstall-local): New targets.
	* Makefile.in: Rebuild.

2015-01-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac: Check if sched_yield and/or nanosleep need -lrt.
	* configure: Regenerate.
	* Makefile.am (go$(EXEEXT), gofmt$(EXEEXT), cgo$(EXEEXT)): Link
	with $(LIBS).
	* Makefile.in: Regenerate.

2015-01-15  Ian Lance Taylor  <iant@google.com>

	* configure.ac: Check for networking libraries; see NET_LIBS.
	* Makefile.am (go$(EXEEXT)): Link against NET_LIBS.
	(gofmt$(EXEEXT), cgo$(EXEEXT)): Likewise.
	* configure, Makefile.in: Rebuild.

2015-01-14  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (go_cmd_go_files): Sort entries.  Add generate.go.
	* Makefile.in: Rebuild.

2015-01-09  Ian Lance Taylor  <iant@google.com>

	* Makefile.am (GOCOMPILER): Set to GOC or GOC_FOR_TARGET depending
	on whether this is a native build or not.
	(GOCOMPILE, GOLINK): Use $(GOCOMPILER) instead of $(GOC).
	(MOSTLYCLEANFILES): Define.
	* Makefile.in: Rebuild.

	* Initial implementation.
