X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=libgo%2FMakefile.am;h=52a8330ed2a2d8b53a81702858c29ff28a270984;hb=108fdcc56ee49dd7dc8314ce5022191f406a125f;hp=fa4fcaa6404e581624a86c2e0cf9d7a2738cdf1c;hpb=081564faed7cc138dfcaa48021cc01a94fd1ba3c;p=platform%2Fupstream%2Fgcc.git diff --git a/libgo/Makefile.am b/libgo/Makefile.am index fa4fcaa..52a8330 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -13,6 +13,12 @@ if LIBGO_IS_RTEMS subdirs = testsuite endif +if LIBGO_IS_DARWIN +GO_EXPORT_SECTION_NAME = __GNU_GO.__go_export +else +GO_EXPORT_SECTION_NAME = .go_export +endif + SUBDIRS = ${subdirs} gcc_version := $(shell $(GOC) -dumpversion) @@ -40,14 +46,23 @@ AM_CPPFLAGS = -I $(srcdir)/runtime $(LIBFFIINCS) $(PTHREAD_CFLAGS) ACLOCAL_AMFLAGS = -I ./config -I ../config -AM_CFLAGS = -fexceptions -fnon-call-exceptions -fplan9-extensions \ +AM_CFLAGS = -fexceptions -fnon-call-exceptions \ $(SPLIT_STACK) $(WARN_CFLAGS) \ - $(STRINGOPS_FLAG) $(OSCFLAGS) \ + $(STRINGOPS_FLAG) $(HWCAP_CFLAGS) $(OSCFLAGS) \ -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \ -I $(MULTIBUILDTOP)../../gcc/include +AM_LDFLAGS = + if USING_SPLIT_STACK -AM_LDFLAGS = -XCClinker $(SPLIT_STACK) +AM_LDFLAGS += -XCClinker $(SPLIT_STACK) +endif + +if LIBGO_IS_AIX +# Using an import file for libgo avoid requiring to use the -brtl flag +# when builing a go program +AM_LDFLAGS += -Wl,-bbigtoc -Wl,-bI:$(srcdir)/libgo.imp +EXTRA_libgo_la_DEPENDENCIES = libgo.imp endif # Multilib support. @@ -105,12 +120,15 @@ 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 +noinst_LIBRARIES = libgotool.a + toolexeclibgo_DATA = \ bufio.gox \ bytes.gox \ + context.gox \ crypto.gox \ encoding.gox \ errors.gox \ @@ -169,6 +187,7 @@ toolexeclibgocrypto_DATA = \ crypto/des.gox \ crypto/dsa.gox \ crypto/ecdsa.gox \ + crypto/ed25519.gox \ crypto/elliptic.gox \ crypto/hmac.gox \ crypto/md5.gox \ @@ -222,23 +241,20 @@ toolexeclibgoencoding_DATA = \ encoding/pem.gox \ encoding/xml.gox -toolexeclibgoexpdir = $(toolexeclibgodir)/exp - -toolexeclibgoexp_DATA = \ - exp/proxy.gox \ - exp/terminal.gox - toolexeclibgogodir = $(toolexeclibgodir)/go toolexeclibgogo_DATA = \ go/ast.gox \ go/build.gox \ + go/constant.gox \ go/doc.gox \ go/format.gox \ + go/importer.gox \ go/parser.gox \ go/printer.gox \ go/scanner.gox \ - go/token.gox + go/token.gox \ + go/types.gox toolexeclibgohashdir = $(toolexeclibgodir)/hash @@ -246,7 +262,8 @@ toolexeclibgohash_DATA = \ hash/adler32.gox \ hash/crc32.gox \ hash/crc64.gox \ - hash/fnv.gox + hash/fnv.gox \ + hash/maphash.gox toolexeclibgohtmldir = $(toolexeclibgodir)/html @@ -286,13 +303,15 @@ toolexeclibgomathdir = $(toolexeclibgodir)/math toolexeclibgomath_DATA = \ math/big.gox \ + math/bits.gox \ math/cmplx.gox \ math/rand.gox toolexeclibgomimedir = $(toolexeclibgodir)/mime toolexeclibgomime_DATA = \ - mime/multipart.gox + mime/multipart.gox \ + mime/quotedprintable.gox toolexeclibgonetdir = $(toolexeclibgodir)/net @@ -311,6 +330,7 @@ toolexeclibgonethttp_DATA = \ net/http/cookiejar.gox \ net/http/fcgi.gox \ net/http/httptest.gox \ + net/http/httptrace.gox \ net/http/httputil.gox \ net/http/pprof.gox @@ -319,12 +339,6 @@ toolexeclibgonetrpcdir = $(toolexeclibgonetdir)/rpc toolexeclibgonetrpc_DATA = \ net/rpc/jsonrpc.gox -toolexeclibgoolddir = $(toolexeclibgodir)/old - -toolexeclibgoold_DATA = \ - old/regexp.gox \ - old/template.gox - toolexeclibgoosdir = $(toolexeclibgodir)/os toolexeclibgoos_DATA = \ @@ -346,7 +360,8 @@ toolexeclibgoruntimedir = $(toolexeclibgodir)/runtime toolexeclibgoruntime_DATA = \ runtime/debug.gox \ - runtime/pprof.gox + runtime/pprof.gox \ + runtime/trace.gox toolexeclibgosyncdir = $(toolexeclibgodir)/sync @@ -359,6 +374,11 @@ toolexeclibgotesting_DATA = \ testing/iotest.gox \ testing/quick.gox +toolexeclibgotestinginternaldir = $(toolexeclibgotestingdir)/internal + +toolexeclibgotestinginternal_DATA = \ + testing/internal/testdeps.gox + toolexeclibgotextdir = $(toolexeclibgodir)/text toolexeclibgotext_DATA = \ @@ -377,11 +397,23 @@ toolexeclibgounicode_DATA = \ unicode/utf16.gox \ unicode/utf8.gox -if HAVE_SYS_MMAN_H -runtime_mem_file = runtime/mem.c -else -runtime_mem_file = runtime/mem_posix_memalign.c -endif +# Some internal packages are needed to bootstrap the gc toolchain. +toolexeclibgointernaldir = $(toolexeclibgodir)/internal +toolexeclibgointernal_DATA = \ + internal/reflectlite.gox + +# Some packages are only needed for tests, so unlike the other +# internal packages nothing will explicitly depend on them. +# Force them to be built. +noinst_DATA = \ + golang.org/x/net/nettest.gox \ + internal/cfg.gox \ + internal/obscuretestdata.gox \ + internal/testenv.gox \ + internal/trace.gox \ + net/internal/socktest.gox \ + os/signal/internal/pty.gox \ + runtime/pprof/internal/profile.gox if LIBGO_IS_RTEMS rtems_task_variable_add_file = runtime/rtems-task-variable-add.c @@ -389,1427 +421,221 @@ else rtems_task_variable_add_file = endif +runtime_context_asm_file = +if LIBGO_IS_X86 if LIBGO_IS_LINUX -runtime_lock_files = runtime/lock_futex.c runtime/thread-linux.c -else -runtime_lock_files = runtime/lock_sema.c runtime/thread-sema.c -endif - -if LIBGO_IS_LINUX -runtime_getncpu_file = runtime/getncpu-linux.c -else -if LIBGO_IS_DARWIN -runtime_getncpu_file = runtime/getncpu-bsd.c -else -if LIBGO_IS_IRIX -runtime_getncpu_file = runtime/getncpu-irix.c -else -if LIBGO_IS_SOLARIS -runtime_getncpu_file = runtime/getncpu-solaris.c -else -if LIBGO_IS_FREEBSD -runtime_getncpu_file = runtime/getncpu-bsd.c -else -if LIBGO_IS_NETBSD -runtime_getncpu_file = runtime/getncpu-bsd.c -else -runtime_getncpu_file = runtime/getncpu-none.c -endif -endif -endif -endif -endif -endif - -if LIBGO_IS_LINUX -runtime_netpoll_files = runtime/netpoll_epoll.c -else -if LIBGO_IS_SOLARIS -runtime_netpoll_files = runtime/netpoll_select.c -else -runtime_netpoll_files = runtime/netpoll_kqueue.c +runtime_context_asm_file += runtime/go-context.S endif endif runtime_files = \ - runtime/go-append.c \ + runtime/aeshash.c \ runtime/go-assert.c \ - runtime/go-assert-interface.c \ - runtime/go-byte-array-to-string.c \ - runtime/go-breakpoint.c \ runtime/go-caller.c \ runtime/go-callers.c \ - runtime/go-can-convert-interface.c \ runtime/go-cdiv.c \ runtime/go-cgo.c \ - runtime/go-check-interface.c \ runtime/go-construct-map.c \ - runtime/go-convert-interface.c \ - runtime/go-copy.c \ - runtime/go-defer.c \ - runtime/go-deferred-recover.c \ - runtime/go-eface-compare.c \ - runtime/go-eface-val-compare.c \ runtime/go-ffi.c \ runtime/go-fieldtrack.c \ - runtime/go-int-array-to-string.c \ - runtime/go-int-to-string.c \ - runtime/go-interface-compare.c \ - runtime/go-interface-eface-compare.c \ - runtime/go-interface-val-compare.c \ - runtime/go-make-slice.c \ - runtime/go-map-delete.c \ - runtime/go-map-index.c \ - runtime/go-map-len.c \ - runtime/go-map-range.c \ runtime/go-matherr.c \ - runtime/go-memcmp.c \ + runtime/go-memclr.c \ + runtime/go-memequal.c \ runtime/go-nanotime.c \ runtime/go-now.c \ - runtime/go-new-map.c \ - runtime/go-new.c \ runtime/go-nosys.c \ - runtime/go-panic.c \ - runtime/go-print.c \ - runtime/go-recover.c \ runtime/go-reflect-call.c \ - runtime/go-reflect-map.c \ - runtime/go-rune.c \ - runtime/go-runtime-error.c \ runtime/go-setenv.c \ runtime/go-signal.c \ - runtime/go-strcmp.c \ - runtime/go-string-to-byte-array.c \ - runtime/go-string-to-int-array.c \ - runtime/go-strplus.c \ - runtime/go-strslice.c \ - runtime/go-traceback.c \ - runtime/go-type-complex.c \ - runtime/go-type-eface.c \ - runtime/go-type-error.c \ - runtime/go-type-float.c \ - runtime/go-type-identity.c \ - runtime/go-type-interface.c \ - runtime/go-type-string.c \ - runtime/go-typedesc-equal.c \ - runtime/go-unsafe-new.c \ - runtime/go-unsafe-newarray.c \ runtime/go-unsafe-pointer.c \ runtime/go-unsetenv.c \ runtime/go-unwind.c \ runtime/go-varargs.c \ runtime/env_posix.c \ - runtime/heapdump.c \ - $(runtime_lock_files) \ - runtime/mcache.c \ - runtime/mcentral.c \ - $(runtime_mem_file) \ - runtime/mfixalloc.c \ - runtime/mgc0.c \ - runtime/mheap.c \ - runtime/msize.c \ - $(runtime_netpoll_files) \ runtime/panic.c \ - runtime/parfor.c \ runtime/print.c \ runtime/proc.c \ - runtime/runtime.c \ - runtime/signal_unix.c \ - runtime/thread.c \ + runtime/runtime_c.c \ + runtime/stack.c \ runtime/yield.c \ - $(rtems_task_variable_add_file) \ - chan.c \ - cpuprof.c \ - go-iface.c \ - lfstack.c \ - malloc.c \ - map.c \ - mprof.c \ - netpoll.c \ - rdebug.c \ - reflect.c \ - runtime1.c \ - sema.c \ - sigqueue.c \ - string.c \ - time.c \ - $(runtime_getncpu_file) - -goc2c.$(OBJEXT): runtime/goc2c.c - $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) $< - -goc2c: goc2c.$(OBJEXT) - $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $< - -malloc.c: $(srcdir)/runtime/malloc.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -mprof.c: $(srcdir)/runtime/mprof.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -netpoll.c: $(srcdir)/runtime/netpoll.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -reflect.c: $(srcdir)/runtime/reflect.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -runtime1.c: $(srcdir)/runtime/runtime1.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -sema.c: $(srcdir)/runtime/sema.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -sigqueue.c: $(srcdir)/runtime/sigqueue.goc goc2c - ./goc2c --go-pkgpath os_signal $< > $@.tmp - mv -f $@.tmp $@ - -time.c: $(srcdir)/runtime/time.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -%.c: $(srcdir)/runtime/%.goc goc2c - ./goc2c $< > $@.tmp - mv -f $@.tmp $@ - -go_bufio_files = \ - go/bufio/bufio.go \ - go/bufio/scan.go - -go_bytes_files = \ - go/bytes/buffer.go \ - go/bytes/bytes.go \ - go/bytes/bytes_decl.go \ - go/bytes/reader.go -go_bytes_c_files = \ - go/bytes/indexbyte.c - -go_crypto_files = \ - go/crypto/crypto.go - -go_encoding_files = \ - go/encoding/encoding.go - -go_errors_files = \ - go/errors/errors.go - -go_expvar_files = \ - go/expvar/expvar.go - -go_flag_files = \ - go/flag/flag.go - -go_fmt_files = \ - go/fmt/doc.go \ - go/fmt/format.go \ - go/fmt/print.go \ - go/fmt/scan.go - -go_hash_files = \ - go/hash/hash.go - -go_html_files = \ - go/html/entity.go \ - go/html/escape.go - -go_image_files = \ - go/image/format.go \ - go/image/geom.go \ - go/image/image.go \ - go/image/names.go \ - go/image/ycbcr.go - -go_io_files = \ - go/io/multi.go \ - go/io/io.go \ - go/io/pipe.go - -go_log_files = \ - go/log/log.go - -go_math_files = \ - go/math/abs.go \ - go/math/acosh.go \ - go/math/asin.go \ - go/math/asinh.go \ - go/math/atan.go \ - go/math/atanh.go \ - go/math/atan2.go \ - go/math/bits.go \ - go/math/cbrt.go \ - go/math/const.go \ - go/math/copysign.go \ - go/math/dim.go \ - go/math/erf.go \ - go/math/exp.go \ - go/math/expm1.go \ - go/math/floor.go \ - go/math/frexp.go \ - go/math/gamma.go \ - go/math/hypot.go \ - go/math/j0.go \ - go/math/j1.go \ - go/math/jn.go \ - go/math/ldexp.go \ - go/math/lgamma.go \ - go/math/log.go \ - go/math/log1p.go \ - go/math/log10.go \ - go/math/logb.go \ - go/math/mod.go \ - go/math/modf.go \ - go/math/nextafter.go \ - go/math/pow.go \ - go/math/pow10.go \ - go/math/remainder.go \ - go/math/signbit.go \ - go/math/sin.go \ - go/math/sincos.go \ - go/math/sinh.go \ - go/math/sqrt.go \ - go/math/tan.go \ - go/math/tanh.go \ - go/math/unsafe.go - -go_mime_files = \ - go/mime/grammar.go \ - go/mime/mediatype.go \ - go/mime/type.go \ - go/mime/type_unix.go - -if LIBGO_IS_LINUX -go_net_cgo_file = go/net/cgo_linux.go -go_net_sock_file = go/net/sock_linux.go -go_net_sockopt_file = go/net/sockopt_linux.go -go_net_sockoptip_file = go/net/sockoptip_linux.go go/net/sockoptip_posix.go -else -if LIBGO_IS_IRIX -go_net_cgo_file = go/net/cgo_linux.go -go_net_sock_file = go/net/sock_linux.go -go_net_sockopt_file = go/net/sockopt_linux.go -go_net_sockoptip_file = go/net/sockoptip_linux.go go/net/sockoptip_posix.go -else -if LIBGO_IS_SOLARIS -go_net_cgo_file = go/net/cgo_linux.go -go_net_sock_file = go/net/sock_stub.go -go_net_sockopt_file = go/net/sockopt_solaris.go -go_net_sockoptip_file = go/net/sockoptip_stub.go -else -if LIBGO_IS_FREEBSD -go_net_cgo_file = go/net/cgo_bsd.go -go_net_sock_file = go/net/sock_bsd.go -go_net_sockopt_file = go/net/sockopt_bsd.go -go_net_sockoptip_file = go/net/sockoptip_bsd.go go/net/sockoptip_posix.go -else -if LIBGO_IS_NETBSD -go_net_cgo_file = go/net/cgo_netbsd.go -go_net_sock_file = go/net/sock_bsd.go -go_net_sockopt_file = go/net/sockopt_bsd.go -go_net_sockoptip_file = go/net/sockoptip_bsd.go go/net/sockoptip_posix.go -else -go_net_cgo_file = go/net/cgo_bsd.go -go_net_sock_file = go/net/sock_bsd.go -go_net_sockopt_file = go/net/sockopt_bsd.go -go_net_sockoptip_file = go/net/sockoptip_bsd.go go/net/sockoptip_posix.go -endif -endif -endif -endif -endif - -if LIBGO_IS_LINUX -go_net_sendfile_file = go/net/sendfile_linux.go -else -if LIBGO_IS_FREEBSD -go_net_sendfile_file = go/net/sendfile_freebsd.go -else -if LIBGO_IS_DRAGONFLY -go_net_sendfile_file = go/net/sendfile_dragonfly.go -else -go_net_sendfile_file = go/net/sendfile_stub.go -endif -endif -endif - -if LIBGO_IS_LINUX -go_net_interface_file = go/net/interface_linux.go -else -if LIBGO_IS_NETBSD -go_net_interface_file = go/net/interface_netbsd.go -else -if LIBGO_IS_DRAGONFLY -go_net_interface_file = go/net/interface_dragonfly.go -else -go_net_interface_file = go/net/interface_stub.go -endif -endif -endif - -if LIBGO_IS_LINUX -go_net_cloexec_file = go/net/sock_cloexec.go -else -go_net_cloexec_file = go/net/sys_cloexec.go -endif - -if LIBGO_IS_OPENBSD -go_net_tcpsockopt_file = go/net/tcpsockopt_openbsd.go -else -if LIBGO_IS_DARWIN -go_net_tcpsockopt_file = go/net/tcpsockopt_darwin.go -else -if LIBGO_IS_SOLARIS -go_net_tcpsockopt_file = go/net/tcpsockopt_solaris.go -else -if LIBGO_IS_DRAGONFLY -go_net_tcpsockopt_file = go/net/tcpsockopt_dragonfly.go -else -go_net_tcpsockopt_file = go/net/tcpsockopt_unix.go -endif -endif -endif -endif + $(runtime_context_asm_file) \ + $(rtems_task_variable_add_file) -go_net_common_files = \ - $(go_net_cloexec_file) \ - go/net/dial.go \ - go/net/dnsclient.go \ - go/net/dnsclient_unix.go \ - go/net/dnsconfig_unix.go \ - go/net/dnsmsg.go \ - go/net/fd_mutex.go \ - go/net/fd_unix.go \ - go/net/file_unix.go \ - go/net/hosts.go \ - go/net/interface.go \ - $(go_net_interface_file) \ - go/net/ip.go \ - go/net/iprawsock.go \ - go/net/iprawsock_posix.go \ - go/net/ipsock.go \ - go/net/ipsock_posix.go \ - go/net/lookup.go \ - go/net/lookup_unix.go \ - go/net/mac.go \ - go/net/net.go \ - go/net/parse.go \ - go/net/pipe.go \ - go/net/fd_poll_runtime.go \ - go/net/port.go \ - go/net/port_unix.go \ - go/net/race0.go \ - $(go_net_sendfile_file) \ - go/net/singleflight.go \ - go/net/sock_posix.go \ - $(go_net_sock_file) \ - go/net/sockopt_posix.go \ - $(go_net_sockopt_file) \ - $(go_net_sockoptip_file) \ - go/net/tcpsock.go \ - go/net/tcpsock_posix.go \ - go/net/tcpsockopt_posix.go \ - $(go_net_tcpsockopt_file) \ - go/net/udpsock.go \ - go/net/udpsock_posix.go \ - go/net/unixsock.go \ - go/net/unixsock_posix.go - -go_net_files = \ - go/net/cgo_unix.go \ - $(go_net_cgo_file) \ - $(go_net_common_files) - -go_netgo_files = \ - go/net/cgo_stub.go \ - $(go_net_common_files) - -if LIBGO_IS_SOLARIS -if LIBGO_IS_386 -go_os_dir_file = go/os/dir_largefile.go -else -if LIBGO_IS_SPARC -go_os_dir_file = go/os/dir_largefile.go -else -go_os_dir_file = go/os/dir_regfile.go -endif -endif -else -if LIBGO_IS_LINUX -go_os_dir_file = go/os/dir_largefile.go -else -go_os_dir_file = go/os/dir_regfile.go -endif -endif +version.go: s-version; @true +s-version: Makefile + rm -f version.go.tmp + echo "package sys" > version.go.tmp + echo 'func init() { DefaultGoroot = "$(prefix)" }' >> version.go.tmp + echo 'const TheVersion = "'`cat $(srcdir)/VERSION | sed 1q`' '`$(GOC) --version | sed 1q`'"' >> version.go.tmp + echo 'const Goexperiment = ``' >> version.go.tmp + echo 'const GOARCH = "'$(GOARCH)'"' >> version.go.tmp + echo 'const GOOS = "'$(GOOS)'"' >> version.go.tmp + echo 'const GccgoToolDir = "$(libexecsubdir)"' >> version.go.tmp + echo >> version.go.tmp + echo "type ArchFamilyType int" >> version.go.tmp + echo >> version.go.tmp + echo "const (" >> version.go.tmp + echo " UNKNOWN ArchFamilyType = iota" >> version.go.tmp + for a in $(ALLGOARCHFAMILY); do \ + echo " $${a}" >> version.go.tmp; \ + done + echo ")" >> version.go.tmp + echo >> version.go.tmp + for a in $(ALLGOARCH); do \ + f=`echo $${a} | sed -e 's/\(.\).*/\1/' -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`; \ + n="$${f}`echo $${a} | sed -e 's/.//'`"; \ + if test "$${a}" = "$(GOARCH)"; then \ + echo "const Goarch$${n} = 1" >> version.go.tmp; \ + else \ + echo "const Goarch$${n} = 0" >> version.go.tmp; \ + fi; \ + done + echo >> version.go.tmp + echo "const (" >> version.go.tmp + echo " ArchFamily = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) family`" >> version.go.tmp + echo " BigEndian = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) bigendian`" >> version.go.tmp + echo " CacheLineSize = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) cachelinesize`" >> version.go.tmp + echo " DefaultPhysPageSize = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) defaultphyspagesize`" >> version.go.tmp + echo " Int64Align = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) int64align`" >> version.go.tmp + echo " MinFrameSize = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) minframesize`" >> version.go.tmp + echo " PCQuantum = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) pcquantum`" >> version.go.tmp + echo ")" >> version.go.tmp + echo >> version.go.tmp + for a in $(ALLGOOS); do \ + f=`echo $${a} | sed -e 's/\(.\).*/\1/' -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`; \ + n="$${f}`echo $${a} | sed -e 's/.//'`"; \ + if test "$${a}" = "$(GOOS)"; then \ + echo "const Goos$${n} = 1" >> version.go.tmp; \ + else \ + echo "const Goos$${n} = 0" >> version.go.tmp; \ + fi; \ + done + echo >> version.go.tmp + echo "type Uintreg uintptr" >> version.go.tmp + $(SHELL) $(srcdir)/mvifdiff.sh version.go.tmp version.go + $(STAMP) $@ -if LIBGO_IS_DARWIN -go_os_getwd_file = go/os/getwd_darwin.go -else -go_os_getwd_file = -endif +cpugen.go: s-cpu; @true +s-cpu: Makefile + rm -f cpugen.go.tmp + echo "package cpu" > cpugen.go.tmp + echo "const CacheLinePadSize = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) cachelinesize`" >> cpugen.go.tmp + echo "const FunctionDescriptors = $(FUNCTION_DESCRIPTORS)" >> cpugen.go.tmp + $(SHELL) $(srcdir)/mvifdiff.sh cpugen.go.tmp cpugen.go + $(STAMP) $@ -if LIBGO_IS_LINUX -go_os_sys_file = go/os/sys_linux.go -else -if LIBGO_IS_SOLARIS -go_os_sys_file = go/os/sys_uname.go -else -if LIBGO_IS_IRIX -go_os_sys_file = go/os/sys_uname.go -else -if LIBGO_IS_RTEMS -go_os_sys_file = go/os/sys_uname.go -else -go_os_sys_file = go/os/sys_bsd.go -endif -endif -endif -endif +gcpugen.go: s-gcpu; @true +s-gcpu: Makefile + rm -f gcpugen.go.tmp + echo "package cpu" > gcpugen.go.tmp + echo "const cacheLineSize = `$(SHELL) $(srcdir)/goarch.sh $(GOARCH) cachelinesize`" >> gcpugen.go.tmp + $(SHELL) $(srcdir)/mvifdiff.sh gcpugen.go.tmp gcpugen.go + $(STAMP) $@ -if LIBGO_IS_FREEBSD -go_os_cloexec_file = go/os/sys_freebsd.go -else -if LIBGO_IS_DARWIN -go_os_cloexec_file = go/os/sys_darwin.go -else -go_os_cloexec_file = go/os/sys_unix.go -endif -endif +objabi.go: s-objabi; @true +s-objabi: Makefile + rm -f objabi.go.tmp + echo "package objabi" > objabi.go.tmp + echo "import \"runtime\"" >> objabi.go.tmp + echo 'func defaultGOROOTValue() string { return `$(prefix)` }' >> objabi.go.tmp + echo 'const defaultGO386 = `sse2`' >> objabi.go.tmp + echo 'const defaultGOARM = `5`' >> objabi.go.tmp + echo 'const defaultGOMIPS = `hardfloat`' >> objabi.go.tmp + echo 'const defaultGOMIPS64 = `hardfloat`' >> objabi.go.tmp + echo 'const defaultGOPPC64 = `power8`' >> objabi.go.tmp + echo 'const defaultGOOS = runtime.GOOS' >> objabi.go.tmp + echo 'const defaultGOARCH = runtime.GOARCH' >> objabi.go.tmp + echo 'const defaultGO_EXTLINK_ENABLED = ``' >> objabi.go.tmp + echo 'const defaultGO_LDSO = ``' >> objabi.go.tmp + echo 'const version = `'`cat $(srcdir)/VERSION | sed 1q`' '`$(GOC) --version | sed 1q`'`' >> objabi.go.tmp + echo 'const stackGuardMultiplierDefault = 1' >> objabi.go.tmp + echo 'const goexperiment = ``' >> objabi.go.tmp + $(SHELL) $(srcdir)/mvifdiff.sh objabi.go.tmp objabi.go + $(STAMP) $@ -if LIBGO_IS_SOLARIS -go_os_stat_file = go/os/stat_solaris.go -else -if LIBGO_IS_LINUX -go_os_stat_file = go/os/stat_atim.go -else -if LIBGO_IS_OPENBSD -go_os_stat_file = go/os/stat_atim.go -else -if LIBGO_IS_DARWIN -go_os_stat_file = go/os/stat_atimespec.go -else -if LIBGO_IS_FREEBSD -go_os_stat_file = go/os/stat_atimespec.go -else -if LIBGO_IS_NETBSD -go_os_stat_file = go/os/stat_atimespec.go -else -if LIBGO_IS_DRAGONFLY -go_os_stat_file = go/os/stat_dragonfly.go -else -go_os_stat_file = go/os/stat.go -endif -endif -endif -endif -endif -endif -endif +gccgosizes.go: s-gccgosizes; @true +s-gccgosizes: Makefile goarch.sh + rm -f gccgosizes.go.tmp + echo "package types" > gccgosizes.go.tmp + echo >> gccgosizes.go.tmp + echo "var gccgoArchSizes = map[string]*StdSizes{" >> gccgosizes.go.tmp + for a in $(ALLGOARCH); do \ + ptrsize=`$(SHELL) $(srcdir)/goarch.sh $$a ptrsize`; \ + maxalign=`$(SHELL) $(srcdir)/goarch.sh $$a maxalign`; \ + echo " \"$$a\": {$${ptrsize}, $${maxalign}}," >> gccgosizes.go.tmp; \ + done + echo "}" >> gccgosizes.go.tmp + $(SHELL) $(srcdir)/mvifdiff.sh gccgosizes.go.tmp gccgosizes.go + $(STAMP) $@ -if LIBGO_IS_LINUX -go_os_pipe_file = go/os/pipe_linux.go -else -go_os_pipe_file = go/os/pipe_bsd.go -endif +runtime_sysinfo.go: s-runtime_sysinfo; @true +s-runtime_sysinfo: $(srcdir)/mkrsysinfo.sh gen-sysinfo.go + GOARCH=$(GOARCH) GOOS=$(GOOS) $(SHELL) $(srcdir)/mkrsysinfo.sh + $(SHELL) $(srcdir)/mvifdiff.sh tmp-runtime_sysinfo.go runtime_sysinfo.go + $(STAMP) $@ -go_os_files = \ - $(go_os_dir_file) \ - go/os/dir.go \ - go/os/doc.go \ - go/os/env.go \ - go/os/error.go \ - go/os/error_unix.go \ - go/os/exec.go \ - go/os/exec_posix.go \ - go/os/exec_unix.go \ - go/os/file.go \ - go/os/file_posix.go \ - go/os/file_unix.go \ - go/os/getwd.go \ - $(go_os_getwd_file) \ - go/os/path.go \ - go/os/path_unix.go \ - $(go_os_pipe_file) \ - go/os/proc.go \ - $(go_os_stat_file) \ - go/os/str.go \ - $(go_os_sys_file) \ - $(go_os_cloexec_file) \ - go/os/types.go \ - go/os/types_notwin.go - -go_path_files = \ - go/path/match.go \ - go/path/path.go - -go_reflect_files = \ - go/reflect/deepequal.go \ - go/reflect/makefunc.go \ - go/reflect/makefunc_ffi.go \ - go/reflect/type.go \ - go/reflect/value.go -go_reflect_makefunc_c_file = \ - go/reflect/makefunc_ffi_c.c - -go_regexp_files = \ - go/regexp/exec.go \ - go/regexp/onepass.go \ - go/regexp/regexp.go - -go_net_rpc_files = \ - go/net/rpc/client.go \ - go/net/rpc/debug.go \ - go/net/rpc/server.go - -go_runtime_files = \ - go/runtime/compiler.go \ - go/runtime/debug.go \ - go/runtime/error.go \ - go/runtime/extern.go \ - go/runtime/mem.go \ - go/runtime/softfloat64.go \ - version.go +sigtab.go: s-sigtab; @true +s-sigtab: $(srcdir)/mksigtab.sh gen-sysinfo.go + GOOS=$(GOOS) $(SHELL) $(srcdir)/mksigtab.sh > tmp-sigtab.go + $(SHELL) $(srcdir)/mvifdiff.sh tmp-sigtab.go sigtab.go + $(STAMP) $@ -version.go: s-version; @true -s-version: Makefile - rm -f version.go.tmp - echo "package runtime" > version.go.tmp - echo 'const defaultGoroot = "$(prefix)"' >> version.go.tmp - echo 'const theVersion = "'`cat $(srcdir)/VERSION | sed 1q`' '`$(GOC) --version | sed 1q`'"' >> version.go.tmp - echo 'const theGoarch = "'$(GOARCH)'"' >> version.go.tmp - echo 'const theGoos = "'$(GOOS)'"' >> version.go.tmp - echo 'const theGccgoToolDir = "$(libexecsubdir)"' >> version.go.tmp - $(SHELL) $(srcdir)/mvifdiff.sh version.go.tmp version.go +GCCGO_INSTALL_NAME := $(shell echo gccgo|sed '$(program_transform_name)') +GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') +GXX_INSTALL_NAME := $(shell echo g++|sed '$(program_transform_name)') + +zdefaultcc.go: s-zdefaultcc; @true +s-zdefaultcc: Makefile + echo 'package cfg' > zdefaultcc.go.tmp + echo >> zdefaultcc.go.tmp + echo 'func DefaultGCCGO(goos, goarch string) string { return "$(bindir)/$(GCCGO_INSTALL_NAME)" }' >> zdefaultcc.go.tmp + echo 'func DefaultCC(goos, goarch string) string { return "$(GCC_INSTALL_NAME)" }' >> zdefaultcc.go.tmp + echo 'func DefaultCXX(goos, goarch string) string { return "$(GXX_INSTALL_NAME)" }' >> zdefaultcc.go.tmp + echo 'const DefaultPkgConfig = "pkg-config"' >> zdefaultcc.go.tmp + echo 'var OSArchSupportsCgo = map[string]bool{}' >> zdefaultcc.go.tmp + $(SHELL) $(srcdir)/../move-if-change zdefaultcc.go.tmp zdefaultcc.go + $(STAMP) $@ + +# Post-process runtime.inc.raw (raw output of -fgo-c-header option when +# compiling runtime) to prune out certain types that should not be +# exported back to C. See comments in mkruntimeinc.sh for more details. +runtime.inc: s-runtime-inc; @true +s-runtime-inc: runtime.lo mkruntimeinc.sh Makefile + $(SHELL) $(srcdir)/mkruntimeinc.sh + $(SHELL) $(srcdir)/mvifdiff.sh tmp-runtime.inc runtime.inc $(STAMP) $@ -noinst_DATA = zstdpkglist.go +noinst_DATA += zdefaultcc.go # Generate the list of go std packages that were included in libgo zstdpkglist.go: s-zstdpkglist; @true s-zstdpkglist: Makefile rm -f zstdpkglist.go.tmp - echo 'package main' > zstdpkglist.go.tmp + echo 'package goroot' > 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|[a-z0-9_./]*_c\.lo||g' | sed 's|\([a-z0-9_./]*\)\.lo|"\1": true,|g' >> zstdpkglist.go.tmp echo '}' >> zstdpkglist.go.tmp $(SHELL) $(srcdir)/mvifdiff.sh zstdpkglist.go.tmp zstdpkglist.go $(STAMP) $@ -go_sort_files = \ - go/sort/search.go \ - go/sort/sort.go - -go_strconv_files = \ - go/strconv/atob.go \ - go/strconv/atof.go \ - go/strconv/atoi.go \ - go/strconv/decimal.go \ - go/strconv/extfloat.go \ - go/strconv/ftoa.go \ - go/strconv/isprint.go \ - go/strconv/itoa.go \ - go/strconv/quote.go - -go_strings_files = \ - go/strings/reader.go \ - go/strings/replace.go \ - go/strings/search.go \ - go/strings/strings.go \ - go/strings/strings_decl.go -go_strings_c_files = \ - go/strings/indexbyte.c - -go_sync_files = \ - go/sync/cond.go \ - go/sync/mutex.go \ - go/sync/once.go \ - go/sync/pool.go \ - go/sync/race0.go \ - go/sync/runtime.go \ - go/sync/rwmutex.go \ - go/sync/waitgroup.go - -if LIBGO_IS_SOLARIS -go_syslog_file = go/log/syslog/syslog_libc.go -else -if LIBGO_IS_IRIX -go_syslog_file = go/log/syslog/syslog_libc.go -else -go_syslog_file = go/log/syslog/syslog_unix.go -endif -endif - -go_log_syslog_files = \ - go/log/syslog/syslog.go \ - $(go_syslog_file) -go_syslog_c_files = \ - go/log/syslog/syslog_c.c - -go_testing_files = \ - go/testing/allocs.go \ - go/testing/benchmark.go \ - go/testing/cover.go \ - go/testing/example.go \ - go/testing/testing.go - -go_time_files = \ - go/time/format.go \ - go/time/sleep.go \ - go/time/sys_unix.go \ - go/time/tick.go \ - go/time/time.go \ - go/time/zoneinfo.go \ - go/time/zoneinfo_read.go \ - go/time/zoneinfo_unix.go - -go_unicode_files = \ - go/unicode/casetables.go \ - go/unicode/digit.go \ - go/unicode/graphic.go \ - go/unicode/letter.go \ - go/unicode/tables.go - -if LIBGO_IS_LINUX -archive_tar_atim_file = go/archive/tar/stat_atim.go -endif -if LIBGO_IS_OPENBSD -archive_tar_atim_file = go/archive/tar/stat_atim.go -endif -if LIBGO_IS_SOLARIS -archive_tar_atim_file = go/archive/tar/stat_atim.go -endif -if LIBGO_IS_DARWIN -archive_tar_atim_file = go/archive/tar/stat_atimespec.go -endif -if LIBGO_IS_FREEBSD -archive_tar_atim_file = go/archive/tar/stat_atimespec.go -endif -if LIBGO_IS_NETBSD -archive_tar_atim_file = go/archive/tar/stat_atimespec.go -endif - -go_archive_tar_files = \ - go/archive/tar/common.go \ - go/archive/tar/reader.go \ - go/archive/tar/stat_unix.go \ - go/archive/tar/writer.go \ - $(archive_tar_atim_file) - -go_archive_zip_files = \ - go/archive/zip/reader.go \ - go/archive/zip/register.go \ - go/archive/zip/struct.go \ - go/archive/zip/writer.go - -go_compress_bzip2_files = \ - go/compress/bzip2/bit_reader.go \ - go/compress/bzip2/bzip2.go \ - go/compress/bzip2/huffman.go \ - go/compress/bzip2/move_to_front.go - -go_compress_flate_files = \ - go/compress/flate/copy.go \ - go/compress/flate/deflate.go \ - go/compress/flate/fixedhuff.go \ - go/compress/flate/huffman_bit_writer.go \ - go/compress/flate/huffman_code.go \ - go/compress/flate/inflate.go \ - go/compress/flate/reverse_bits.go \ - go/compress/flate/token.go - -go_compress_gzip_files = \ - go/compress/gzip/gzip.go \ - go/compress/gzip/gunzip.go - -go_compress_lzw_files = \ - go/compress/lzw/reader.go \ - go/compress/lzw/writer.go - -go_compress_zlib_files = \ - go/compress/zlib/reader.go \ - go/compress/zlib/writer.go - -go_container_heap_files = \ - go/container/heap/heap.go - -go_container_list_files = \ - go/container/list/list.go - -go_container_ring_files = \ - go/container/ring/ring.go - -go_crypto_aes_files = \ - go/crypto/aes/block.go \ - go/crypto/aes/cipher.go \ - go/crypto/aes/cipher_generic.go \ - go/crypto/aes/const.go -go_crypto_cipher_files = \ - go/crypto/cipher/cbc.go \ - go/crypto/cipher/cfb.go \ - go/crypto/cipher/cipher.go \ - go/crypto/cipher/ctr.go \ - go/crypto/cipher/gcm.go \ - go/crypto/cipher/io.go \ - go/crypto/cipher/ofb.go \ - go/crypto/cipher/xor.go -go_crypto_des_files = \ - go/crypto/des/block.go \ - go/crypto/des/cipher.go \ - go/crypto/des/const.go -go_crypto_dsa_files = \ - go/crypto/dsa/dsa.go -go_crypto_ecdsa_files = \ - go/crypto/ecdsa/ecdsa.go -go_crypto_elliptic_files = \ - go/crypto/elliptic/elliptic.go \ - go/crypto/elliptic/p224.go \ - go/crypto/elliptic/p256.go -go_crypto_hmac_files = \ - go/crypto/hmac/hmac.go -go_crypto_md5_files = \ - go/crypto/md5/md5.go \ - go/crypto/md5/md5block.go \ - go/crypto/md5/md5block_generic.go - -if LIBGO_IS_LINUX -crypto_rand_file = go/crypto/rand/rand_linux.go -else -crypto_rand_file = -endif - -go_crypto_rand_files = \ - go/crypto/rand/rand.go \ - go/crypto/rand/rand_unix.go \ - $(crypto_rand_file) \ - go/crypto/rand/util.go - -go_crypto_rc4_files = \ - go/crypto/rc4/rc4.go \ - go/crypto/rc4/rc4_ref.go -go_crypto_rsa_files = \ - go/crypto/rsa/pkcs1v15.go \ - go/crypto/rsa/pss.go \ - go/crypto/rsa/rsa.go -go_crypto_sha1_files = \ - go/crypto/sha1/sha1.go \ - go/crypto/sha1/sha1block.go \ - go/crypto/sha1/sha1block_generic.go -go_crypto_sha256_files = \ - go/crypto/sha256/sha256.go \ - go/crypto/sha256/sha256block.go -go_crypto_sha512_files = \ - go/crypto/sha512/sha512.go \ - go/crypto/sha512/sha512block.go -go_crypto_subtle_files = \ - go/crypto/subtle/constant_time.go -go_crypto_tls_files = \ - go/crypto/tls/alert.go \ - go/crypto/tls/cipher_suites.go \ - go/crypto/tls/common.go \ - go/crypto/tls/conn.go \ - go/crypto/tls/handshake_client.go \ - go/crypto/tls/handshake_messages.go \ - go/crypto/tls/handshake_server.go \ - go/crypto/tls/key_agreement.go \ - go/crypto/tls/prf.go \ - go/crypto/tls/ticket.go \ - go/crypto/tls/tls.go -go_crypto_x509_files = \ - go/crypto/x509/cert_pool.go \ - go/crypto/x509/pem_decrypt.go \ - go/crypto/x509/pkcs1.go \ - go/crypto/x509/pkcs8.go \ - go/crypto/x509/root.go \ - go/crypto/x509/root_unix.go \ - go/crypto/x509/sec1.go \ - go/crypto/x509/verify.go \ - go/crypto/x509/x509.go - -go_crypto_x509_pkix_files = \ - go/crypto/x509/pkix/pkix.go - -go_database_sql_files = \ - go/database/sql/convert.go \ - go/database/sql/sql.go - -go_database_sql_driver_files = \ - go/database/sql/driver/driver.go \ - go/database/sql/driver/types.go - -go_debug_dwarf_files = \ - go/debug/dwarf/buf.go \ - go/debug/dwarf/const.go \ - go/debug/dwarf/entry.go \ - go/debug/dwarf/line.go \ - go/debug/dwarf/open.go \ - go/debug/dwarf/type.go \ - go/debug/dwarf/typeunit.go \ - go/debug/dwarf/unit.go -go_debug_elf_files = \ - go/debug/elf/elf.go \ - go/debug/elf/file.go -go_debug_gosym_files = \ - go/debug/gosym/pclntab.go \ - go/debug/gosym/symtab.go -go_debug_macho_files = \ - go/debug/macho/fat.go \ - go/debug/macho/file.go \ - go/debug/macho/macho.go -go_debug_pe_files = \ - go/debug/pe/file.go \ - go/debug/pe/pe.go -go_debug_plan9obj_files = \ - go/debug/plan9obj/file.go \ - go/debug/plan9obj/plan9obj.go - -go_encoding_ascii85_files = \ - go/encoding/ascii85/ascii85.go -go_encoding_asn1_files = \ - go/encoding/asn1/asn1.go \ - go/encoding/asn1/common.go \ - go/encoding/asn1/marshal.go -go_encoding_base32_files = \ - go/encoding/base32/base32.go -go_encoding_base64_files = \ - go/encoding/base64/base64.go -go_encoding_binary_files = \ - go/encoding/binary/binary.go \ - go/encoding/binary/varint.go -go_encoding_csv_files = \ - go/encoding/csv/reader.go \ - go/encoding/csv/writer.go -go_encoding_gob_files = \ - go/encoding/gob/decode.go \ - go/encoding/gob/decoder.go \ - go/encoding/gob/dec_helpers.go \ - go/encoding/gob/doc.go \ - go/encoding/gob/encode.go \ - go/encoding/gob/encoder.go \ - go/encoding/gob/enc_helpers.go \ - go/encoding/gob/error.go \ - go/encoding/gob/type.go -go_encoding_hex_files = \ - go/encoding/hex/hex.go -go_encoding_json_files = \ - go/encoding/json/decode.go \ - go/encoding/json/encode.go \ - go/encoding/json/fold.go \ - go/encoding/json/indent.go \ - go/encoding/json/scanner.go \ - go/encoding/json/stream.go \ - go/encoding/json/tags.go -go_encoding_pem_files = \ - go/encoding/pem/pem.go -go_encoding_xml_files = \ - go/encoding/xml/marshal.go \ - go/encoding/xml/read.go \ - go/encoding/xml/typeinfo.go \ - go/encoding/xml/xml.go - -go_exp_proxy_files = \ - go/exp/proxy/direct.go \ - go/exp/proxy/per_host.go \ - go/exp/proxy/proxy.go \ - go/exp/proxy/socks5.go -go_exp_terminal_files = \ - go/exp/terminal/terminal.go \ - go/exp/terminal/util.go - -go_go_ast_files = \ - go/go/ast/ast.go \ - go/go/ast/commentmap.go \ - go/go/ast/filter.go \ - go/go/ast/import.go \ - go/go/ast/print.go \ - go/go/ast/resolve.go \ - go/go/ast/scope.go \ - go/go/ast/walk.go -go_go_build_files = \ - go/go/build/build.go \ - go/go/build/doc.go \ - go/go/build/read.go \ - go/go/build/syslist.go -go_go_doc_files = \ - go/go/doc/comment.go \ - go/go/doc/doc.go \ - go/go/doc/example.go \ - go/go/doc/exports.go \ - go/go/doc/filter.go \ - go/go/doc/reader.go \ - go/go/doc/synopsis.go -go_go_format_files = \ - go/go/format/format.go -go_go_parser_files = \ - go/go/parser/interface.go \ - go/go/parser/parser.go -go_go_printer_files = \ - go/go/printer/nodes.go \ - go/go/printer/printer.go -go_go_scanner_files = \ - go/go/scanner/errors.go \ - go/go/scanner/scanner.go -go_go_token_files = \ - go/go/token/position.go \ - go/go/token/serialize.go \ - go/go/token/token.go - -go_hash_adler32_files = \ - go/hash/adler32/adler32.go -go_hash_crc32_files = \ - go/hash/crc32/crc32.go \ - go/hash/crc32/crc32_generic.go -go_hash_crc64_files = \ - go/hash/crc64/crc64.go -go_hash_fnv_files = \ - go/hash/fnv/fnv.go - -go_html_template_files = \ - go/html/template/attr.go \ - go/html/template/content.go \ - go/html/template/context.go \ - go/html/template/css.go \ - go/html/template/doc.go \ - go/html/template/error.go \ - go/html/template/escape.go \ - go/html/template/html.go \ - go/html/template/js.go \ - go/html/template/template.go \ - go/html/template/transition.go \ - go/html/template/url.go - -go_image_color_files = \ - go/image/color/color.go \ - go/image/color/ycbcr.go - -go_image_color_palette_files = \ - go/image/color/palette/palette.go - -go_image_draw_files = \ - go/image/draw/draw.go - -go_image_gif_files = \ - go/image/gif/reader.go \ - go/image/gif/writer.go - -go_image_jpeg_files = \ - go/image/jpeg/fdct.go \ - go/image/jpeg/huffman.go \ - go/image/jpeg/idct.go \ - go/image/jpeg/reader.go \ - go/image/jpeg/scan.go \ - go/image/jpeg/writer.go - -go_image_png_files = \ - go/image/png/paeth.go \ - go/image/png/reader.go \ - go/image/png/writer.go - -go_index_suffixarray_files = \ - go/index/suffixarray/qsufsort.go \ - go/index/suffixarray/suffixarray.go - -go_io_ioutil_files = \ - go/io/ioutil/ioutil.go \ - go/io/ioutil/tempfile.go - -go_math_big_files = \ - go/math/big/arith.go \ - go/math/big/int.go \ - go/math/big/nat.go \ - go/math/big/rat.go -go_math_cmplx_files = \ - go/math/cmplx/abs.go \ - go/math/cmplx/asin.go \ - go/math/cmplx/conj.go \ - go/math/cmplx/exp.go \ - go/math/cmplx/isinf.go \ - go/math/cmplx/isnan.go \ - go/math/cmplx/log.go \ - go/math/cmplx/phase.go \ - go/math/cmplx/polar.go \ - go/math/cmplx/pow.go \ - go/math/cmplx/rect.go \ - go/math/cmplx/sin.go \ - go/math/cmplx/sqrt.go \ - go/math/cmplx/tan.go -go_math_rand_files = \ - go/math/rand/exp.go \ - go/math/rand/normal.go \ - go/math/rand/rand.go \ - go/math/rand/rng.go \ - go/math/rand/zipf.go - -go_mime_multipart_files = \ - go/mime/multipart/formdata.go \ - go/mime/multipart/multipart.go \ - go/mime/multipart/quotedprintable.go \ - go/mime/multipart/writer.go - -go_net_http_files = \ - go/net/http/client.go \ - go/net/http/cookie.go \ - go/net/http/filetransport.go \ - go/net/http/fs.go \ - go/net/http/header.go \ - go/net/http/jar.go \ - go/net/http/lex.go \ - go/net/http/request.go \ - go/net/http/response.go \ - go/net/http/server.go \ - go/net/http/sniff.go \ - go/net/http/status.go \ - go/net/http/transfer.go \ - go/net/http/transport.go -go_net_mail_files = \ - go/net/mail/message.go -go_net_smtp_files = \ - go/net/smtp/auth.go \ - go/net/smtp/smtp.go -go_net_textproto_files = \ - go/net/textproto/header.go \ - go/net/textproto/pipeline.go \ - go/net/textproto/reader.go \ - go/net/textproto/textproto.go \ - go/net/textproto/writer.go -go_net_url_files = \ - go/net/url/url.go - -go_net_http_cgi_files = \ - go/net/http/cgi/child.go \ - go/net/http/cgi/host.go -go_net_http_cookiejar_files = \ - go/net/http/cookiejar/jar.go \ - go/net/http/cookiejar/punycode.go -go_net_http_fcgi_files = \ - go/net/http/fcgi/child.go \ - go/net/http/fcgi/fcgi.go -go_net_http_httptest_files = \ - go/net/http/httptest/recorder.go \ - go/net/http/httptest/server.go -go_net_http_pprof_files = \ - go/net/http/pprof/pprof.go -go_net_http_httputil_files = \ - go/net/http/httputil/dump.go \ - go/net/http/httputil/httputil.go \ - go/net/http/httputil/persist.go \ - go/net/http/httputil/reverseproxy.go -go_net_http_internal_files = \ - go/net/http/internal/chunked.go - -go_old_regexp_files = \ - go/old/regexp/regexp.go -go_old_template_files = \ - go/old/template/doc.go \ - go/old/template/execute.go \ - go/old/template/format.go \ - go/old/template/parse.go - -go_os_exec_files = \ - go/os/exec/exec.go \ - go/os/exec/lp_unix.go - -go_os_signal_files = \ - go/os/signal/signal.go \ - go/os/signal/signal_unix.go - -if LIBGO_IS_SOLARIS -os_user_decls_file = go/os/user/decls_solaris.go -else -os_user_decls_file = go/os/user/decls_unix.go -endif - -go_os_user_files = \ - go/os/user/lookup.go \ - go/os/user/lookup_unix.go \ - go/os/user/user.go \ - $(os_user_decls_file) - -go_path_filepath_files = \ - go/path/filepath/match.go \ - go/path/filepath/path.go \ - go/path/filepath/path_unix.go \ - go/path/filepath/symlink.go \ - go/path/filepath/symlink_unix.go - -go_regexp_syntax_files = \ - go/regexp/syntax/compile.go \ - go/regexp/syntax/doc.go \ - go/regexp/syntax/parse.go \ - go/regexp/syntax/perl_groups.go \ - go/regexp/syntax/prog.go \ - go/regexp/syntax/regexp.go \ - go/regexp/syntax/simplify.go - -go_net_rpc_jsonrpc_files = \ - go/net/rpc/jsonrpc/client.go \ - go/net/rpc/jsonrpc/server.go - -go_runtime_debug_files = \ - go/runtime/debug/garbage.go \ - go/runtime/debug/stack.go -go_runtime_pprof_files = \ - go/runtime/pprof/pprof.go - -go_text_tabwriter_files = \ - go/text/tabwriter/tabwriter.go -go_text_template_files = \ - go/text/template/doc.go \ - go/text/template/exec.go \ - go/text/template/funcs.go \ - go/text/template/helper.go \ - go/text/template/template.go -go_text_template_parse_files = \ - go/text/template/parse/lex.go \ - go/text/template/parse/node.go \ - go/text/template/parse/parse.go - -go_sync_atomic_files = \ - go/sync/atomic/doc.go \ - go/sync/atomic/value.go -go_sync_atomic_c_files = \ - go/sync/atomic/atomic.c - -go_testing_iotest_files = \ - go/testing/iotest/logger.go \ - go/testing/iotest/reader.go \ - go/testing/iotest/writer.go -go_testing_quick_files = \ - go/testing/quick/quick.go - -go_text_scanner_files = \ - go/text/scanner/scanner.go - -go_unicode_utf16_files = \ - go/unicode/utf16/utf16.go -go_unicode_utf8_files = \ - go/unicode/utf8/utf8.go - -# Define Syscall and Syscall6. -if LIBGO_IS_RTEMS -syscall_syscall_file = go/syscall/syscall_stubs.go -else -syscall_syscall_file = go/syscall/syscall_unix.go -endif - -# Define ForkExec and Exec. -if LIBGO_IS_RTEMS -syscall_exec_file = go/syscall/exec_stubs.go -syscall_exec_os_file = -else -if LIBGO_IS_LINUX -syscall_exec_file = go/syscall/exec_unix.go -syscall_exec_os_file = go/syscall/exec_linux.go -else -syscall_exec_file = go/syscall/exec_unix.go -syscall_exec_os_file = go/syscall/exec_bsd.go -endif -endif - -# Define Wait4. -if LIBGO_IS_RTEMS -syscall_wait_file = -else -if HAVE_WAIT4 -syscall_wait_file = go/syscall/libcall_wait4.go -else -syscall_wait_file = go/syscall/libcall_waitpid.go -endif -endif - -# Support for pulling apart wait status. -if LIBGO_IS_RTEMS -syscall_wait_c_file = -else -syscall_wait_c_file = go/syscall/wait.c -endif - -# Define Sleep. -if LIBGO_IS_RTEMS -syscall_sleep_file = go/syscall/sleep_rtems.go -else -syscall_sleep_file = go/syscall/sleep_select.go -endif - -# Define Errstr. -if LIBGO_IS_LINUX -syscall_errstr_file = go/syscall/errstr_linux.go -else -if LIBGO_IS_RTEMS -syscall_errstr_file = go/syscall/errstr_linux.go -else -if HAVE_STRERROR_R -syscall_errstr_file = go/syscall/errstr.go -else -syscall_errstr_file = go/syscall/errstr_nor.go -endif -endif -endif - -# Declare libc functions that vary for largefile systems. -if LIBGO_IS_LINUX -# Always use lseek64 on GNU/Linux. -syscall_size_file = go/syscall/libcall_posix_largefile.go -else # !LIBGO_IS_LINUX -if LIBGO_IS_SOLARIS -if LIBGO_IS_386 -# Use lseek64 on 32-bit Solaris/x86. -syscall_size_file = go/syscall/libcall_posix_largefile.go -else # !LIBGO_IS_386 -if LIBGO_IS_SPARC -# Use lseek64 on 32-bit Solaris/SPARC. -syscall_size_file = go/syscall/libcall_posix_largefile.go -else # !LIBGO_IS_386 && !LIBGO_IS_SPARC -# Use lseek on 64-bit Solaris. -syscall_size_file = go/syscall/libcall_posix_regfile.go -endif # !LIBGO_IS_386 && !LIBGO_IS_SPARC -endif # !LIBGO_IS_SOLARIS -else # !LIBGO_IS_LINUX && !LIBGO_IS_SOLARIS -# Use lseek by default. -syscall_size_file = go/syscall/libcall_posix_regfile.go -endif # !LIBGO_IS_SOLARIS -endif # !LIBGO_IS_LINUX - -# Define socket sizes and types. -if LIBGO_IS_LINUX -syscall_socket_file = go/syscall/socket_linux.go epoll.go -else -if LIBGO_IS_SOLARIS -syscall_socket_file = go/syscall/socket_solaris.go -else -if LIBGO_IS_IRIX -syscall_socket_file = go/syscall/socket_irix.go -else -syscall_socket_file = go/syscall/socket_bsd.go -endif -endif -endif - -# Define socket functions. -if LIBGO_IS_SOLARIS -syscall_socket_os_file = go/syscall/socket_xnet.go -else -syscall_socket_os_file = go/syscall/socket_posix.go -endif - -# Support for uname. -if LIBGO_IS_SOLARIS -if LIBGO_IS_386 -# 32-bit Solaris 2/x86 needs _nuname, handled in libcall_solaris_386.go. -syscall_uname_file = -else # !LIBGO_IS_386 && LIBGO_IS_SOLARIS -syscall_uname_file = go/syscall/libcall_uname.go -endif -else # !LIBGO_IS_SOLARIS -syscall_uname_file = go/syscall/libcall_uname.go -endif - -# GNU/Linux specific socket control messages. -if LIBGO_IS_LINUX -syscall_sockcmsg_file = go/syscall/sockcmsg_linux.go -else -syscall_sockcmsg_file = -endif - -# Support for netlink sockets and messages. -if LIBGO_IS_LINUX -syscall_netlink_file = go/syscall/netlink_linux.go -else -syscall_netlink_file = -endif - -# GNU/Linux specific socket filters. -if LIBGO_IS_LINUX -syscall_lsf_file = go/syscall/lsf_linux.go -else -syscall_lsf_file = -endif - -# GNU/Linux specific utimesnano support. if LIBGO_IS_LINUX -syscall_utimesnano_file = go/syscall/libcall_linux_utimesnano.go +syscall_epoll_file = epoll.go else -syscall_utimesnano_file = go/syscall/libcall_posix_utimesnano.go +syscall_epoll_file = endif -# Test files. -if LIBGO_IS_LINUX -syscall_creds_test_file = go/syscall/creds_test.go -else -syscall_creds_test_file = -endif - -go_base_syscall_files = \ - go/syscall/env_unix.go \ - go/syscall/syscall_errno.go \ - go/syscall/libcall_support.go \ - go/syscall/libcall_posix.go \ - go/syscall/race0.go \ - go/syscall/socket.go \ - go/syscall/sockcmsg_unix.go \ - go/syscall/str.go \ - go/syscall/syscall.go \ - $(syscall_sockcmsg_file) \ - $(syscall_syscall_file) \ - $(syscall_exec_file) \ - $(syscall_exec_os_file) \ - $(syscall_wait_file) \ - $(syscall_sleep_file) \ - $(syscall_errstr_file) \ - $(syscall_size_file) \ - $(syscall_socket_file) \ - $(syscall_socket_os_file) \ - $(syscall_uname_file) \ - $(syscall_netlink_file) \ - $(syscall_lsf_file) \ - $(syscall_utimesnano_file) \ - $(GO_LIBCALL_OS_FILE) \ - $(GO_LIBCALL_OS_ARCH_FILE) \ - $(GO_SYSCALL_OS_FILE) \ - $(GO_SYSCALL_OS_ARCH_FILE) - -go_syscall_files = \ - $(go_base_syscall_files) \ - libcalls.go \ - sysinfo.go \ - syscall_arch.go -go_syscall_c_files = \ - go/syscall/errno.c \ - go/syscall/signame.c \ - $(syscall_wait_c_file) - -go_syscall_test_files = \ - $(syscall_creds_test_file) \ - go/syscall/export_test.go \ - go/syscall/mmap_unix_test.go \ - go/syscall/syscall_test.go \ - go/syscall/syscall_unix_test.go - -if LIBGO_IS_LINUX -internal_syscall_getrandom_file = go/internal/syscall/getrandom_linux.go -else -internal_syscall_getrandom_file = -endif - -go_internal_syscall_files = \ - go/internal/syscall/dummy.go \ - $(internal_syscall_getrandom_file) - libcalls.go: s-libcalls; @true -s-libcalls: libcalls-list go/syscall/mksyscall.awk $(go_base_syscall_files) +s-libcalls: libcalls-list go/syscall/mksyscall.awk $(srcdir)/go/syscall/*.go rm -f libcalls.go.tmp - files=`echo $^ | sed -e 's/libcalls-list//' -e 's|[^ ]*go/syscall/mksyscall.awk||'`; \ - $(AWK) -f $(srcdir)/go/syscall/mksyscall.awk $${files} > libcalls.go.tmp + $(AWK) -f $(srcdir)/go/syscall/mksyscall.awk `cat libcalls-list` > libcalls.go.tmp $(SHELL) $(srcdir)/mvifdiff.sh libcalls.go.tmp libcalls.go $(STAMP) $@ libcalls-list: s-libcalls-list; @true -s-libcalls-list: Makefile +s-libcalls-list: Makefile $(srcdir)/go/syscall/*.go rm -f libcalls-list.tmp - echo $(go_base_syscall_files) > libcalls-list.tmp + $(SHELL) $(srcdir)/match.sh --goarch=$(GOARCH) --goos=$(GOOS) --srcdir=$(srcdir)/go/syscall $(matchargs_syscall) > libcalls-list.tmp $(SHELL) $(srcdir)/mvifdiff.sh libcalls-list.tmp libcalls-list $(STAMP) $@ @@ -1822,9 +648,26 @@ s-syscall_arch: Makefile $(SHELL) $(srcdir)/mvifdiff.sh syscall_arch.go.tmp syscall_arch.go $(STAMP) $@ +SYSINFO_FLAGS = \ + $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(OSCFLAGS) -O + +gen-sysinfo.go: s-gen-sysinfo; @true +s-gen-sysinfo: $(srcdir)/sysinfo.c config.h + $(CC) $(SYSINFO_FLAGS) -fdump-go-spec=tmp-gen-sysinfo.go -std=gnu99 -S -o sysinfo.s $(srcdir)/sysinfo.c + rm -f sysinfo.s + $(SHELL) $(srcdir)/mvifdiff.sh tmp-gen-sysinfo.go gen-sysinfo.go + $(STAMP) $@ + +errno.i: s-errno; @true +s-errno: + echo '#include ' | $(CC) $(SYSINFO_FLAGS) -x c - -E -dM > tmp-errno.i + $(SHELL) $(srcdir)/mvifdiff.sh tmp-errno.i errno.i + $(STAMP) $@ + sysinfo.go: s-sysinfo; @true -s-sysinfo: $(srcdir)/mksysinfo.sh config.h - CC="$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(OSCFLAGS) -O" $(SHELL) $(srcdir)/mksysinfo.sh +s-sysinfo: $(srcdir)/mksysinfo.sh gen-sysinfo.go errno.i + GOARCH=$(GOARCH) GOOS=$(GOOS) $(SHELL) $(srcdir)/mksysinfo.sh $(SHELL) $(srcdir)/mvifdiff.sh tmp-sysinfo.go sysinfo.go $(STAMP) $@ @@ -1857,159 +700,35 @@ s-epoll: Makefile $(STAMP) $@ if LIBGO_IS_LINUX -# os_lib_inotify_lo = os/inotify.lo -os_lib_inotify_lo = +syscall_lib_clone_lo = syscall/clone_linux.lo else -os_lib_inotify_lo = +syscall_lib_clone_lo = endif +if LIBGO_IS_X86 +golangorg_x_sys_cpu_gccgo_lo = golang.org/x/sys/cpu_gccgo.lo +else +golangorg_x_sys_cpu_gccgo_lo = +endif + +PACKAGES = $(shell cat $(srcdir)/libgo-packages.txt) + libgo_go_objs = \ - bufio.lo \ - bytes.lo \ - bytes/index.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 \ + $(addsuffix .lo,$(PACKAGES)) \ + internal/bytealg/bytealg.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/doc.lo \ - go/format.lo \ - go/parser.lo \ - go/printer.lo \ - go/scanner.lo \ - go/token.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/httputil.lo \ - net/http/internal.lo \ - net/http/pprof.lo \ - image/color.lo \ - image/color/palette.lo \ - image/draw.lo \ - image/gif.lo \ - image/jpeg.lo \ - image/png.lo \ - index/suffixarray.lo \ - internal/syscall.lo \ - io/ioutil.lo \ - log/syslog.lo \ + $(golangorg_x_net_lif_lo) \ + $(golangorg_x_net_route_lo) \ log/syslog/syslog_c.lo \ - math/big.lo \ - math/cmplx.lo \ - math/rand.lo \ - mime/multipart.lo \ - net/http.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 \ - sync/atomic.lo \ + runtime/internal/atomic_c.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 + internal/cpu/cpu_gccgo.lo \ + $(golangorg_x_sys_cpu_gccgo_lo) libgo_ldflags = \ -version-info $(libtool_VERSION) $(PTHREAD_CFLAGS) $(AM_LDFLAGS) @@ -2041,13 +760,29 @@ libgolibbegin_a_SOURCES = \ libgolibbegin_a_CFLAGS = $(AM_CFLAGS) -fPIC -libnetgo_a_SOURCES = $(go_netgo_files) -libnetgo_a_LIBADD = netgo.o +GOTOOL_PACKAGES = $(shell cat $(srcdir)/gotool-packages.txt) + +libgotool_a_SOURCES = +libgotool_a_DEPENDENCIES = $(addsuffix .lo,$(GOTOOL_PACKAGES)) +libgotool_a_LIBADD = $(addsuffix .o,$(GOTOOL_PACKAGES)) + +define STATIC_template +$(subst -,_,$(subst .,_,$(subst /,_,$(1))))_GOCFLAGS = -static +endef + +$(foreach package,$(GOTOOL_PACKAGES),$(eval $(call STATIC_template,$(package).lo))) + +# Make sure runtime.inc is built before compiling any .c file. +$(libgo_la_OBJECTS): runtime.inc +$(libgo_llgo_la_OBJECTS): runtime.inc +$(libgobegin_a_OBJECTS): runtime.inc +$(libgobegin_llgo_a_OBJECTS): runtime.inc +$(libgolibbegin_a_OBJECTS): runtime.inc LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) GOCFLAGS = $(CFLAGS) -AM_GOCFLAGS = $(STRINGOPS_FLAG) +AM_GOCFLAGS = $(STRINGOPS_FLAG) $(GO_SPLIT_STACK) GOCOMPILE = $(GOC) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_GOCFLAGS) $(GOCFLAGS) LTGOCOMPILE = $(LIBTOOL) --tag GO --mode=compile $(GOC) $(INCLUDES) \ @@ -2059,20 +794,30 @@ GOLINK = $(LIBTOOL) --tag GO --mode-link $(GOC) \ # Build the dependencies for a Go package. BUILDDEPS = \ $(MKDIR_P) $(@D); \ - $(SHELL) $(srcdir)/godeps.sh `echo $@ | sed -e 's/.dep$$//'` $^ > $@.tmp; \ + 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 /,_,$(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$$//'`; \ + fi; \ mv -f $@.tmp $@ # Build the .go files for a package, generating a .lo file. BUILDPACKAGE = \ $(MKDIR_P) $(@D); \ - files=`echo $^ | sed -e 's/[^ ]*\.gox//g'`; \ - $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//' -e 's/-go$$//'` -o $@ $$files + files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; \ + $(LTGOCOMPILE) -I . -c -fgo-pkgpath=`echo $@ | sed -e 's/.lo$$//'` $($(subst -,_,$(subst .,_,$(subst /,_,$@)))_GOCFLAGS) -o $@ $$files -# Build netgo.o. -BUILDNETGO = \ - $(MKDIR_P) $(@D); \ - files=`echo $^ | sed -e 's/[^ ]*\.gox//g'`; \ - $(GOCOMPILE) -I . -c -fPIC -fgo-pkgpath=net -o $@ $$files +# How to build a .gox file from a .lo file. +# Matching .o file can either be in the same directory as the .lo (non-PIC +# object) or in the .libs directory (PIC object). +BUILDGOX = \ + f="$(basename $<).o"; \ + if test ! -f $$f; then \ + f="$(basename $(>$@-testlog 2>&1; then \ + if $(SHELL) $(srcdir)/testsuite/gotest --goarch=$(GOARCH) --goos=$(GOOS) --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --pkgpath="$(@D)" --pkgfiles="$$files" $(GOTESTFLAGS) >>$@-testlog 2>&1; then \ echo "PASS: $(@D)" >> $@-testlog; \ echo "PASS: $(@D)"; \ echo "PASS: $(@D)" > $@-testsum; \ @@ -2119,7 +867,6 @@ CHECK_DEPS = \ $(toolexeclibgocrypto_DATA) \ $(toolexeclibgodebug_DATA) \ $(toolexeclibgoencoding_DATA) \ - $(toolexeclibgoexp_DATA) \ $(toolexeclibgogo_DATA) \ $(toolexeclibgohash_DATA) \ $(toolexeclibgoimage_DATA) \ @@ -2138,7 +885,9 @@ CHECK_DEPS = \ $(toolexeclibgotesting_DATA) \ $(toolexeclibgotext_DATA) \ $(toolexeclibgotexttemplate_DATA) \ - $(toolexeclibgounicode_DATA) + $(toolexeclibgounicode_DATA) \ + $(noinst_DATA) \ + $(noinst_LIBRARIES) if GOC_IS_LLGO CHECK_DEPS += libgo-llgo.la libgobegin-llgo.a @@ -2146,1714 +895,210 @@ else CHECK_DEPS += libgo.la libgobegin.a endif -@go_include@ bufio.lo.dep -bufio.lo.dep: $(go_bufio_files) - $(BUILDDEPS) -bufio.lo: $(go_bufio_files) - $(BUILDPACKAGE) -bufio/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: bufio/check - -@go_include@ bytes.lo.dep -bytes.lo.dep: $(go_bytes_files) - $(BUILDDEPS) -bytes.lo: $(go_bytes_files) - $(BUILDPACKAGE) -bytes/index.lo: $(go_bytes_c_files) - @$(MKDIR_P) bytes - $(LTCOMPILE) -c -o bytes/index.lo $(srcdir)/go/bytes/indexbyte.c -bytes/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: bytes/check - -@go_include@ crypto.lo.dep -crypto.lo.dep: $(go_crypto_files) - $(BUILDDEPS) -crypto.lo: $(go_crypto_files) - $(BUILDPACKAGE) -crypto/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/check - -@go_include@ encoding.lo.dep -encoding.lo.dep: $(go_encoding_files) - $(BUILDDEPS) -encoding.lo: $(go_encoding_files) - $(BUILDPACKAGE) -encoding/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/check - -@go_include@ errors.lo.dep -errors.lo.dep: $(go_errors_files) - $(BUILDDEPS) -errors.lo: $(go_errors_files) - $(BUILDPACKAGE) -errors/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: errors/check - -@go_include@ expvar.lo.dep -expvar.lo.dep: $(go_expvar_files) - $(BUILDDEPS) -expvar.lo: $(go_expvar_files) - $(BUILDPACKAGE) -expvar/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: expvar/check - -@go_include@ flag.lo.dep -flag.lo.dep: $(go_flag_files) - $(BUILDDEPS) -flag.lo: $(go_flag_files) - $(BUILDPACKAGE) -flag/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: flag/check - -@go_include@ fmt.lo.dep -fmt.lo.dep: $(go_fmt_files) - $(BUILDDEPS) -fmt.lo: $(go_fmt_files) - $(BUILDPACKAGE) -fmt/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: fmt/check - -@go_include@ hash.lo.dep -hash.lo.dep: $(go_hash_files) - $(BUILDDEPS) -hash.lo: $(go_hash_files) - $(BUILDPACKAGE) -hash/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/check - -@go_include@ html.lo.dep -html.lo.dep: $(go_html_files) - $(BUILDDEPS) -html.lo: $(go_html_files) - $(BUILDPACKAGE) -html/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: html/check - -@go_include@ image.lo.dep -image.lo.dep: $(go_image_files) - $(BUILDDEPS) -image.lo: $(go_image_files) - $(BUILDPACKAGE) -image/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/check - -@go_include@ io.lo.dep -io.lo.dep: $(go_io_files) - $(BUILDDEPS) -io.lo: $(go_io_files) - $(BUILDPACKAGE) -io/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: io/check - -@go_include@ log.lo.dep -log.lo.dep: $(go_log_files) - $(BUILDDEPS) -log.lo: $(go_log_files) - $(BUILDPACKAGE) -log/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: log/check - -@go_include@ math.lo.dep -math.lo.dep: $(go_math_files) - $(BUILDDEPS) -math.lo: $(go_math_files) - $(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: $(go_mime_files) - $(BUILDDEPS) -mime.lo: $(go_mime_files) - $(BUILDPACKAGE) -mime/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: mime/check - -@go_include@ net.lo.dep -net.lo.dep: $(go_net_files) - $(BUILDDEPS) -net.lo: $(go_net_files) - $(BUILDPACKAGE) -net/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/check - -@go_include@ netgo.o.dep -netgo.o.dep: $(go_netgo_files) - $(BUILDDEPS) -netgo.o: $(go_netgo_files) - $(BUILDNETGO) - -@go_include@ os.lo.dep -os.lo.dep: $(go_os_files) - $(BUILDDEPS) -os.lo: $(go_os_files) - $(BUILDPACKAGE) -os/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/check - -@go_include@ path.lo.dep -path.lo.dep: $(go_path_files) - $(BUILDDEPS) -path.lo: $(go_path_files) - $(BUILDPACKAGE) -path/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: path/check - -@go_include@ reflect-go.lo.dep -reflect-go.lo.dep: $(go_reflect_files) - $(BUILDDEPS) -reflect-go.lo: $(go_reflect_files) - $(BUILDPACKAGE) -reflect/check: $(CHECK_DEPS) - @$(CHECK) -reflect/makefunc_ffi_c.lo: $(go_reflect_makefunc_c_file) - @$(MKDIR_P) reflect - $(LTCOMPILE) -c -o $@ $< -.PHONY: reflect/check - -@go_include@ regexp.lo.dep -regexp.lo.dep: $(go_regexp_files) - $(BUILDDEPS) -regexp.lo: $(go_regexp_files) - $(BUILDPACKAGE) -regexp/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: regexp/check - -@go_include@ runtime-go.lo.dep -runtime-go.lo.dep: $(go_runtime_files) - $(BUILDDEPS) -runtime-go.lo: $(go_runtime_files) - $(BUILDPACKAGE) -runtime/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/check - -@go_include@ sort.lo.dep -sort.lo.dep: $(go_sort_files) - $(BUILDDEPS) -sort.lo: $(go_sort_files) - $(BUILDPACKAGE) -sort/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: sort/check - -@go_include@ strconv.lo.dep -strconv.lo.dep: $(go_strconv_files) - $(BUILDDEPS) -strconv.lo: $(go_strconv_files) - $(BUILDPACKAGE) -strconv/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: strconv/check - -@go_include@ strings.lo.dep -strings.lo.dep: $(go_strings_files) - $(BUILDDEPS) -strings.lo: $(go_strings_files) - $(BUILDPACKAGE) -strings/index.lo: $(go_strings_c_files) - @$(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: $(go_sync_files) - $(BUILDDEPS) -sync.lo: $(go_sync_files) - $(BUILDPACKAGE) -sync/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: sync/check - -@go_include@ testing.lo.dep -testing.lo.dep: $(go_testing_files) - $(BUILDDEPS) -testing.lo: $(go_testing_files) - $(BUILDPACKAGE) -testing/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: testing/check - -@go_include@ time-go.lo.dep -time-go.lo.dep: $(go_time_files) - $(BUILDDEPS) -time-go.lo: $(go_time_files) - $(BUILDPACKAGE) -time/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: time/check - -@go_include@ unicode.lo.dep -unicode.lo.dep: $(go_unicode_files) - $(BUILDDEPS) -unicode.lo: $(go_unicode_files) - $(BUILDPACKAGE) -unicode/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: unicode/check - -@go_include@ archive/tar.lo.dep -archive/tar.lo.dep: $(go_archive_tar_files) - $(BUILDDEPS) -archive/tar.lo: $(go_archive_tar_files) - $(BUILDPACKAGE) -archive/tar/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: archive/tar/check - -@go_include@ archive/zip.lo.dep -archive/zip.lo.dep: $(go_archive_zip_files) - $(BUILDDEPS) -archive/zip.lo: $(go_archive_zip_files) - $(BUILDPACKAGE) -archive/zip/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: archive/zip/check - -@go_include@ compress/bzip2.lo.dep -compress/bzip2.lo.dep: $(go_compress_bzip2_files) - $(BUILDDEPS) -compress/bzip2.lo: $(go_compress_bzip2_files) - $(BUILDPACKAGE) -compress/bzip2/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/bzip2/check - -@go_include@ compress/flate.lo.dep -compress/flate.lo.dep: $(go_compress_flate_files) - $(BUILDDEPS) -compress/flate.lo: $(go_compress_flate_files) - $(BUILDPACKAGE) -compress/flate/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/flate/check - -@go_include@ compress/gzip.lo.dep -compress/gzip.lo.dep: $(go_compress_gzip_files) - $(BUILDDEPS) -compress/gzip.lo: $(go_compress_gzip_files) - $(BUILDPACKAGE) -compress/gzip/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/gzip/check - -@go_include@ compress/lzw.lo.dep -compress/lzw.lo.dep: $(go_compress_lzw_files) - $(BUILDDEPS) -compress/lzw.lo: $(go_compress_lzw_files) - $(BUILDPACKAGE) -compress/lzw/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/lzw/check - -@go_include@ compress/zlib.lo.dep -compress/zlib.lo.dep: $(go_compress_zlib_files) - $(BUILDDEPS) -compress/zlib.lo: $(go_compress_zlib_files) - $(BUILDPACKAGE) -compress/zlib/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: compress/zlib/check - -@go_include@ container/heap.lo.dep -container/heap.lo.dep: $(go_container_heap_files) - $(BUILDDEPS) -container/heap.lo: $(go_container_heap_files) - $(BUILDPACKAGE) -container/heap/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: container/heap/check - -@go_include@ container/list.lo.dep -container/list.lo.dep: $(go_container_list_files) - $(BUILDDEPS) -container/list.lo: $(go_container_list_files) - $(BUILDPACKAGE) -container/list/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: container/list/check - -@go_include@ container/ring.lo.dep -container/ring.lo.dep: $(go_container_ring_files) - $(BUILDDEPS) -container/ring.lo: $(go_container_ring_files) - $(BUILDPACKAGE) -container/ring/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: container/ring/check - -@go_include@ crypto/aes.lo.dep -crypto/aes.lo.dep: $(go_crypto_aes_files) - $(BUILDDEPS) -crypto/aes.lo: $(go_crypto_aes_files) - $(BUILDPACKAGE) -crypto/aes/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/aes/check - -@go_include@ crypto/cipher.lo.dep -crypto/cipher.lo.dep: $(go_crypto_cipher_files) - $(BUILDDEPS) -crypto/cipher.lo: $(go_crypto_cipher_files) - $(BUILDPACKAGE) -crypto/cipher/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/cipher/check - -@go_include@ crypto/des.lo.dep -crypto/des.lo.dep: $(go_crypto_des_files) - $(BUILDDEPS) -crypto/des.lo: $(go_crypto_des_files) - $(BUILDPACKAGE) -crypto/des/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/des/check - -@go_include@ crypto/dsa.lo.dep -crypto/dsa.lo.dep: $(go_crypto_dsa_files) - $(BUILDDEPS) -crypto/dsa.lo: $(go_crypto_dsa_files) - $(BUILDPACKAGE) -crypto/dsa/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/dsa/check - -@go_include@ crypto/ecdsa.lo.dep -crypto/ecdsa.lo.dep: $(go_crypto_ecdsa_files) - $(BUILDDEPS) -crypto/ecdsa.lo: $(go_crypto_ecdsa_files) - $(BUILDPACKAGE) -crypto/ecdsa/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/ecdsa/check - -@go_include@ crypto/elliptic.lo.dep -crypto/elliptic.lo.dep: $(go_crypto_elliptic_files) - $(BUILDDEPS) -crypto/elliptic.lo: $(go_crypto_elliptic_files) - $(BUILDPACKAGE) -crypto/elliptic/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/elliptic/check - -@go_include@ crypto/hmac.lo.dep -crypto/hmac.lo.dep: $(go_crypto_hmac_files) - $(BUILDDEPS) -crypto/hmac.lo: $(go_crypto_hmac_files) - $(BUILDPACKAGE) -crypto/hmac/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/hmac/check - -@go_include@ crypto/md5.lo.dep -crypto/md5.lo.dep: $(go_crypto_md5_files) - $(BUILDDEPS) -crypto/md5.lo: $(go_crypto_md5_files) - $(BUILDPACKAGE) -crypto/md5/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/md5/check - -@go_include@ crypto/rand.lo.dep -crypto/rand.lo.dep: $(go_crypto_rand_files) - $(BUILDDEPS) -crypto/rand.lo: $(go_crypto_rand_files) - $(BUILDPACKAGE) -crypto/rand/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/rand/check - -@go_include@ crypto/rc4.lo.dep -crypto/rc4.lo.dep: $(go_crypto_rc4_files) - $(BUILDDEPS) -crypto/rc4.lo: $(go_crypto_rc4_files) - $(BUILDPACKAGE) -crypto/rc4/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/rc4/check - -@go_include@ crypto/rsa.lo.dep -crypto/rsa.lo.dep: $(go_crypto_rsa_files) - $(BUILDDEPS) -crypto/rsa.lo: $(go_crypto_rsa_files) - $(BUILDPACKAGE) -crypto/rsa/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/rsa/check - -@go_include@ crypto/sha1.lo.dep -crypto/sha1.lo.dep: $(go_crypto_sha1_files) - $(BUILDDEPS) -crypto/sha1.lo: $(go_crypto_sha1_files) - $(BUILDPACKAGE) -crypto/sha1/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/sha1/check - -@go_include@ crypto/sha256.lo.dep -crypto/sha256.lo.dep: $(go_crypto_sha256_files) - $(BUILDDEPS) -crypto/sha256.lo: $(go_crypto_sha256_files) - $(BUILDPACKAGE) -crypto/sha256/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/sha256/check - -@go_include@ crypto/sha512.lo.dep -crypto/sha512.lo.dep: $(go_crypto_sha512_files) - $(BUILDDEPS) -crypto/sha512.lo: $(go_crypto_sha512_files) - $(BUILDPACKAGE) -crypto/sha512/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/sha512/check - -@go_include@ crypto/subtle.lo.dep -crypto/subtle.lo.dep: $(go_crypto_subtle_files) - $(BUILDDEPS) -crypto/subtle.lo: $(go_crypto_subtle_files) - $(BUILDPACKAGE) -crypto/subtle/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/subtle/check - -@go_include@ crypto/tls.lo.dep -crypto/tls.lo.dep: $(go_crypto_tls_files) - $(BUILDDEPS) -crypto/tls.lo: $(go_crypto_tls_files) - $(BUILDPACKAGE) -crypto/tls/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/tls/check - -@go_include@ crypto/x509.lo.dep -crypto/x509.lo.dep: $(go_crypto_x509_files) - $(BUILDDEPS) -crypto/x509.lo: $(go_crypto_x509_files) - $(BUILDPACKAGE) -crypto/x509/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/x509/check - -@go_include@ crypto/x509/pkix.lo.dep -crypto/x509/pkix.lo.dep: $(go_crypto_x509_pkix_files) - $(BUILDDEPS) -crypto/x509/pkix.lo: $(go_crypto_x509_pkix_files) - $(BUILDPACKAGE) -crypto/x509/pkix/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: crypto/x509/pkix/check - -@go_include@ database/sql.lo.dep -database/sql.lo.dep: $(go_database_sql_files) - $(BUILDDEPS) -database/sql.lo: $(go_database_sql_files) - $(BUILDPACKAGE) -database/sql/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: database/sql/check - -@go_include@ database/sql/driver.lo.dep -database/sql/driver.lo.dep: $(go_database_sql_driver_files) - $(BUILDDEPS) -database/sql/driver.lo: $(go_database_sql_driver_files) - $(BUILDPACKAGE) -database/sql/driver/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: database/sql/driver/check - -@go_include@ debug/dwarf.lo.dep -debug/dwarf.lo.dep: $(go_debug_dwarf_files) - $(BUILDDEPS) -debug/dwarf.lo: $(go_debug_dwarf_files) - $(BUILDPACKAGE) -debug/dwarf/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/dwarf/check - -@go_include@ debug/elf.lo.dep -debug/elf.lo.dep: $(go_debug_elf_files) - $(BUILDDEPS) -debug/elf.lo: $(go_debug_elf_files) - $(BUILDPACKAGE) -debug/elf/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/elf/check - -@go_include@ debug/gosym.lo.dep -debug/gosym.lo.dep: $(go_debug_gosym_files) - $(BUILDDEPS) -debug/gosym.lo: $(go_debug_gosym_files) - $(BUILDPACKAGE) -debug/gosym/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/gosym/check - -@go_include@ debug/macho.lo.dep -debug/macho.lo.dep: $(go_debug_macho_files) - $(BUILDDEPS) -debug/macho.lo: $(go_debug_macho_files) - $(BUILDPACKAGE) -debug/macho/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/macho/check - -@go_include@ debug/pe.lo.dep -debug/pe.lo.dep: $(go_debug_pe_files) - $(BUILDDEPS) -debug/pe.lo: $(go_debug_pe_files) - $(BUILDPACKAGE) -debug/pe/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/pe/check - -@go_include@ debug/plan9obj.lo.dep -debug/plan9obj.lo.dep: $(go_debug_plan9obj_files) - $(BUILDDEPS) -debug/plan9obj.lo: $(go_debug_plan9obj_files) - $(BUILDPACKAGE) -debug/plan9obj/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: debug/plan9obj/check - -@go_include@ encoding/asn1.lo.dep -encoding/asn1.lo.dep: $(go_encoding_asn1_files) - $(BUILDDEPS) -encoding/asn1.lo: $(go_encoding_asn1_files) - $(BUILDPACKAGE) -encoding/asn1/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/asn1/check - -@go_include@ encoding/ascii85.lo.dep -encoding/ascii85.lo.dep: $(go_encoding_ascii85_files) - $(BUILDDEPS) -encoding/ascii85.lo: $(go_encoding_ascii85_files) - $(BUILDPACKAGE) -encoding/ascii85/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/ascii85/check - -@go_include@ encoding/base32.lo.dep -encoding/base32.lo.dep: $(go_encoding_base32_files) - $(BUILDDEPS) -encoding/base32.lo: $(go_encoding_base32_files) - $(BUILDPACKAGE) -encoding/base32/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/base32/check - -@go_include@ encoding/base64.lo.dep -encoding/base64.lo.dep: $(go_encoding_base64_files) - $(BUILDDEPS) -encoding/base64.lo: $(go_encoding_base64_files) - $(BUILDPACKAGE) -encoding/base64/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/base64/check - -@go_include@ encoding/binary.lo.dep -encoding/binary.lo.dep: $(go_encoding_binary_files) - $(BUILDDEPS) -encoding/binary.lo: $(go_encoding_binary_files) - $(BUILDPACKAGE) -encoding/binary/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/binary/check - -@go_include@ encoding/csv.lo.dep -encoding/csv.lo.dep: $(go_encoding_csv_files) - $(BUILDDEPS) -encoding/csv.lo: $(go_encoding_csv_files) - $(BUILDPACKAGE) -encoding/csv/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/csv/check - -@go_include@ encoding/gob.lo.dep -encoding/gob.lo.dep: $(go_encoding_gob_files) - $(BUILDDEPS) -encoding/gob.lo: $(go_encoding_gob_files) - $(BUILDPACKAGE) -encoding/gob/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/gob/check - -@go_include@ encoding/hex.lo.dep -encoding/hex.lo.dep: $(go_encoding_hex_files) - $(BUILDDEPS) -encoding/hex.lo: $(go_encoding_hex_files) - $(BUILDPACKAGE) -encoding/hex/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/hex/check - -@go_include@ encoding/json.lo.dep -encoding/json.lo.dep: $(go_encoding_json_files) - $(BUILDDEPS) -encoding/json.lo: $(go_encoding_json_files) - $(BUILDPACKAGE) -encoding/json/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/json/check - -@go_include@ encoding/pem.lo.dep -encoding/pem.lo.dep: $(go_encoding_pem_files) - $(BUILDDEPS) -encoding/pem.lo: $(go_encoding_pem_files) - $(BUILDPACKAGE) -encoding/pem/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/pem/check - -@go_include@ encoding/xml.lo.dep -encoding/xml.lo.dep: $(go_encoding_xml_files) - $(BUILDDEPS) -encoding/xml.lo: $(go_encoding_xml_files) - $(BUILDPACKAGE) -encoding/xml/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: encoding/xml/check - -@go_include@ exp/proxy.lo.dep -exp/proxy.lo.dep: $(go_exp_proxy_files) - $(BUILDDEPS) -exp/proxy.lo: $(go_exp_proxy_files) - $(BUILDPACKAGE) -exp/proxy/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: exp/proxy/check - -@go_include@ exp/terminal.lo.dep -exp/terminal.lo.dep: $(go_exp_terminal_files) - $(BUILDDEPS) -exp/terminal.lo: $(go_exp_terminal_files) - $(BUILDPACKAGE) -exp/terminal/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: exp/terminal/check - -@go_include@ html/template.lo.dep -html/template.lo.dep: $(go_html_template_files) - $(BUILDDEPS) -html/template.lo: $(go_html_template_files) - $(BUILDPACKAGE) -html/template/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: html/template/check - -@go_include@ go/ast.lo.dep -go/ast.lo.dep: $(go_go_ast_files) - $(BUILDDEPS) -go/ast.lo: $(go_go_ast_files) - $(BUILDPACKAGE) -go/ast/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/ast/check - -@go_include@ go/build.lo.dep -go/build.lo.dep: $(go_go_build_files) - $(BUILDDEPS) -go/build.lo: $(go_go_build_files) - $(BUILDPACKAGE) -go/build/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/build/check - -@go_include@ go/doc.lo.dep -go/doc.lo.dep: $(go_go_doc_files) - $(BUILDDEPS) -go/doc.lo: $(go_go_doc_files) - $(BUILDPACKAGE) -go/doc/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/doc/check - -@go_include@ go/format.lo.dep -go/format.lo.dep: $(go_go_format_files) - $(BUILDDEPS) -go/format.lo: $(go_go_format_files) - $(BUILDPACKAGE) -go/format/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/format/check - -@go_include@ go/parser.lo.dep -go/parser.lo.dep: $(go_go_parser_files) - $(BUILDDEPS) -go/parser.lo: $(go_go_parser_files) - $(BUILDPACKAGE) -go/parser/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/parser/check - -@go_include@ go/printer.lo.dep -go/printer.lo.dep: $(go_go_printer_files) - $(BUILDDEPS) -go/printer.lo: $(go_go_printer_files) - $(BUILDPACKAGE) -go/printer/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/printer/check - -@go_include@ go/scanner.lo.dep -go/scanner.lo.dep: $(go_go_scanner_files) - $(BUILDDEPS) -go/scanner.lo: $(go_go_scanner_files) - $(BUILDPACKAGE) -go/scanner/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/scanner/check - -@go_include@ go/token.lo.dep -go/token.lo.dep: $(go_go_token_files) - $(BUILDDEPS) -go/token.lo: $(go_go_token_files) - $(BUILDPACKAGE) -go/token/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: go/token/check - -@go_include@ hash/adler32.lo.dep -hash/adler32.lo.dep: $(go_hash_adler32_files) - $(BUILDDEPS) -hash/adler32.lo: $(go_hash_adler32_files) - $(BUILDPACKAGE) -hash/adler32/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/adler32/check - -@go_include@ hash/crc32.lo.dep -hash/crc32.lo.dep: $(go_hash_crc32_files) - $(BUILDDEPS) -hash/crc32.lo: $(go_hash_crc32_files) - $(BUILDPACKAGE) -hash/crc32/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/crc32/check - -@go_include@ hash/crc64.lo.dep -hash/crc64.lo.dep: $(go_hash_crc64_files) - $(BUILDDEPS) -hash/crc64.lo: $(go_hash_crc64_files) - $(BUILDPACKAGE) -hash/crc64/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/crc64/check - -@go_include@ hash/fnv.lo.dep -hash/fnv.lo.dep: $(go_hash_fnv_files) - $(BUILDDEPS) -hash/fnv.lo: $(go_hash_fnv_files) - $(BUILDPACKAGE) -hash/fnv/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: hash/fnv/check - -@go_include@ image/color.lo.dep -image/color.lo.dep: $(go_image_color_files) - $(BUILDDEPS) -image/color.lo: $(go_image_color_files) - $(BUILDPACKAGE) -image/color/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/color/check - -@go_include@ image/color/palette.lo.dep -image/color/palette.lo.dep: $(go_image_color_palette_files) - $(BUILDDEPS) -image/color/palette.lo: $(go_image_color_palette_files) - $(BUILDPACKAGE) -image/color/palette/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/color/palette/check - -@go_include@ image/draw.lo.dep -image/draw.lo.dep: $(go_image_draw_files) - $(BUILDDEPS) -image/draw.lo: $(go_image_draw_files) - $(BUILDPACKAGE) -image/draw/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/draw/check - -@go_include@ image/gif.lo.dep -image/gif.lo.dep: $(go_image_gif_files) - $(BUILDDEPS) -image/gif.lo: $(go_image_gif_files) - $(BUILDPACKAGE) -image/gif/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/gif/check - -@go_include@ image/jpeg.lo.dep -image/jpeg.lo.dep: $(go_image_jpeg_files) - $(BUILDDEPS) -image/jpeg.lo: $(go_image_jpeg_files) - $(BUILDPACKAGE) -image/jpeg/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/jpeg/check - -@go_include@ image/png.lo.dep -image/png.lo.dep: $(go_image_png_files) - $(BUILDDEPS) -image/png.lo: $(go_image_png_files) - $(BUILDPACKAGE) -image/png/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: image/png/check - -@go_include@ index/suffixarray.lo.dep -index/suffixarray.lo.dep: $(go_index_suffixarray_files) - $(BUILDDEPS) -index/suffixarray.lo: $(go_index_suffixarray_files) - $(BUILDPACKAGE) -index/suffixarray/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: index/suffixarray/check - -@go_include@ io/ioutil.lo.dep -io/ioutil.lo.dep: $(go_io_ioutil_files) - $(BUILDDEPS) -io/ioutil.lo: $(go_io_ioutil_files) - $(BUILDPACKAGE) -io/ioutil/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: io/ioutil/check - -@go_include@ log/syslog.lo.dep -log/syslog.lo.dep: $(go_log_syslog_files) - $(BUILDDEPS) -log/syslog.lo: $(go_log_syslog_files) - $(BUILDPACKAGE) -log/syslog/syslog_c.lo: $(go_syslog_c_files) log/syslog.lo - @$(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: $(go_math_big_files) - $(BUILDDEPS) -math/big.lo: $(go_math_big_files) - $(BUILDPACKAGE) -math/big/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: math/big/check - -@go_include@ math/cmplx.lo.dep -math/cmplx.lo.dep: $(go_math_cmplx_files) - $(BUILDDEPS) -math/cmplx.lo: $(go_math_cmplx_files) - $(BUILDPACKAGE) -math/cmplx/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: math/cmplx/check - -@go_include@ math/rand.lo.dep -math/rand.lo.dep: $(go_math_rand_files) - $(BUILDDEPS) -math/rand.lo: $(go_math_rand_files) - $(BUILDPACKAGE) -math/rand/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: math/rand/check - -@go_include@ mime/multipart.lo.dep -mime/multipart.lo.dep: $(go_mime_multipart_files) - $(BUILDDEPS) -mime/multipart.lo: $(go_mime_multipart_files) - $(BUILDPACKAGE) -mime/multipart/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: mime/multipart/check - -@go_include@ net/http.lo.dep -net/http.lo.dep: $(go_net_http_files) - $(BUILDDEPS) -net/http.lo: $(go_net_http_files) - $(BUILDPACKAGE) -net/http/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/check - -@go_include@ net/mail.lo.dep -net/mail.lo.dep: $(go_net_mail_files) - $(BUILDDEPS) -net/mail.lo: $(go_net_mail_files) - $(BUILDPACKAGE) -net/mail/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/mail/check - -@go_include@ net/rpc.lo.dep -net/rpc.lo.dep: $(go_net_rpc_files) - $(BUILDDEPS) -net/rpc.lo: $(go_net_rpc_files) - $(BUILDPACKAGE) -net/rpc/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/rpc/check - -@go_include@ net/smtp.lo.dep -net/smtp.lo.dep: $(go_net_smtp_files) - $(BUILDDEPS) -net/smtp.lo: $(go_net_smtp_files) - $(BUILDPACKAGE) -net/smtp/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/smtp/check - -@go_include@ net/url.lo.dep -net/url.lo.dep: $(go_net_url_files) - $(BUILDDEPS) -net/url.lo: $(go_net_url_files) - $(BUILDPACKAGE) -net/url/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/url/check - -@go_include@ net/textproto.lo.dep -net/textproto.lo.dep: $(go_net_textproto_files) - $(BUILDDEPS) -net/textproto.lo: $(go_net_textproto_files) - $(BUILDPACKAGE) -net/textproto/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/textproto/check - -@go_include@ net/http/cgi.lo.dep -net/http/cgi.lo.dep: $(go_net_http_cgi_files) - $(BUILDDEPS) -net/http/cgi.lo: $(go_net_http_cgi_files) - $(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: $(go_net_http_cookiejar_files) - $(BUILDDEPS) -net/http/cookiejar.lo: $(go_net_http_cookiejar_files) - $(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: $(go_net_http_fcgi_files) - $(BUILDDEPS) -net/http/fcgi.lo: $(go_net_http_fcgi_files) - $(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: $(go_net_http_httptest_files) - $(BUILDDEPS) -net/http/httptest.lo: $(go_net_http_httptest_files) - $(BUILDPACKAGE) -net/http/httptest/check: $(check_deps) - @$(CHECK) -.PHONY: net/http/httptest/check - -@go_include@ net/http/httputil.lo.dep -net/http/httputil.lo.dep: $(go_net_http_httputil_files) - $(BUILDDEPS) -net/http/httputil.lo: $(go_net_http_httputil_files) - $(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: $(go_net_http_internal_files) - $(BUILDDEPS) -net/http/internal.lo: $(go_net_http_internal_files) - $(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: $(go_net_http_pprof_files) - $(BUILDDEPS) -net/http/pprof.lo: $(go_net_http_pprof_files) - $(BUILDPACKAGE) -net/http/pprof/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/http/pprof/check - -@go_include@ net/rpc/jsonrpc.lo.dep -net/rpc/jsonrpc.lo.dep: $(go_net_rpc_jsonrpc_files) - $(BUILDDEPS) -net/rpc/jsonrpc.lo: $(go_net_rpc_jsonrpc_files) - $(BUILDPACKAGE) -net/rpc/jsonrpc/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: net/rpc/jsonrpc/check - -@go_include@ old/regexp.lo.dep -old/regexp.lo.dep: $(go_old_regexp_files) - $(BUILDDEPS) -old/regexp.lo: $(go_old_regexp_files) - $(BUILDPACKAGE) -old/regexp/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: old/regexp/check - -@go_include@ old/template.lo.dep -old/template.lo.dep: $(go_old_template_files) - $(BUILDDEPS) -old/template.lo: $(go_old_template_files) - $(BUILDPACKAGE) -old/template/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: old/template/check - -@go_include@ os/exec.lo.dep -os/exec.lo.dep: $(go_os_exec_files) - $(BUILDDEPS) -os/exec.lo: $(go_os_exec_files) - $(BUILDPACKAGE) -os/exec/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/exec/check - -@go_include@ os/signal.lo.dep -os/signal.lo.dep: $(go_os_signal_files) - $(BUILDDEPS) -os/signal.lo: $(go_os_signal_files) - $(BUILDPACKAGE) -os/signal/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/signal/check - -@go_include@ os/user.lo.dep -os/user.lo.dep: $(go_os_user_files) - $(BUILDDEPS) -os/user.lo: $(go_os_user_files) - $(BUILDPACKAGE) -os/user/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: os/user/check - -@go_include@ path/filepath.lo.dep -path/filepath.lo.dep: $(go_path_filepath_files) - $(BUILDDEPS) -path/filepath.lo: $(go_path_filepath_files) - $(BUILDPACKAGE) -path/filepath/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: path/filepath/check - -@go_include@ regexp/syntax.lo.dep -regexp/syntax.lo.dep: $(go_regexp_syntax_files) - $(BUILDDEPS) -regexp/syntax.lo: $(go_regexp_syntax_files) - $(BUILDPACKAGE) -regexp/syntax/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: regexp/syntax/check - -@go_include@ runtime/debug.lo.dep -runtime/debug.lo.dep: $(go_runtime_debug_files) - $(BUILDDEPS) -runtime/debug.lo: $(go_runtime_debug_files) - $(BUILDPACKAGE) -runtime/debug/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/debug/check - -@go_include@ runtime/pprof.lo.dep -runtime/pprof.lo.dep: $(go_runtime_pprof_files) - $(BUILDDEPS) -runtime/pprof.lo: $(go_runtime_pprof_files) - $(BUILDPACKAGE) -runtime/pprof/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: runtime/pprof/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).s-gox; @true +$(1).s-gox: $(1).lo + $$(BUILDGOX) + $$(STAMP) $$@ +endef + +# This line expands PACKAGE_template once for each package name listed +# in $(PACKAGES). +$(foreach package,$(PACKAGES),$(eval $(call PACKAGE_template,$(package)))) +$(foreach package,$(GOTOOL_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) +math_check_GOCFLAGS = $(MATH_FLAG) + +# Add the generated file runtime_sysinfo.go to the runtime package. +extra_go_files_runtime = runtime_sysinfo.go sigtab.go +runtime.lo.dep: $(extra_go_files_runtime) + +# 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.raw -fgo-compiling-runtime +runtime_check_GOCFLAGS = -fgo-compiling-runtime +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 libffi is supported (the normal case) use the ffi build tag for +# the runtime package. +if USE_LIBFFI +matchargs_runtime = --tag=libffi +else +matchargs_runtime = +endif + # 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@ sync/atomic.lo.dep -sync/atomic.lo.dep: $(go_sync_atomic_files) - $(BUILDDEPS) -sync/atomic.lo: $(go_sync_atomic_files) - $(BUILDPACKAGE) -sync/atomic_c.lo: $(go_sync_atomic_c_files) sync/atomic.lo +if HAVE_STATIC_LINK +# Use -static for the syscall tests if possible, because otherwise when +# running as root the re-execs ignore LD_LIBRARY_PATH. +syscall_check_GOCFLAGS = -static +endif + +extra_go_files_runtime_internal_sys = version.go +runtime/internal/sys.lo.dep: $(extra_go_files_runtime_internal_sys) + +extra_go_files_internal_cpu = cpugen.go +internal/cpu.lo.dep: $(extra_go_files_internal_cpu) + +extra_go_files_golang_org_x_sys_cpu = gcpugen.go +golang.org/x/sys/cpu.lo.dep: $(extra_go_files_golang_org_x_sys_cpu) + +extra_go_files_internal_goroot = zstdpkglist.go +internal/goroot.lo.dep: $(extra_go_files_internal_goroot) + +extra_go_files_go_types = gccgosizes.go +go/types.lo.dep: $(extra_go_files_go_types) + +extra_go_files_cmd_internal_objabi = objabi.go +cmd/internal/objabi.lo.dep: $(extra_go_files_cmd_internal_objabi) + +extra_go_files_cmd_go_internal_cfg = zdefaultcc.go +cmd/go/internal/cfg.lo.dep: $(extra_go_files_cmd_go_internal_cfg) + +extra_check_libs_cmd_go_internal_cache = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_generate = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_get = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_load = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_lockedfile = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_imports = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_modconv = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_modfetch = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_modfetch_codehost = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_modfile = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_modload = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_module = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_mvs = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_search = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_web2 = $(abs_builddir)/libgotool.a +extra_check_libs_cmd_go_internal_work = $(abs_builddir)/libgotool.a + +extra_check_libs_cmd_vet_internal_cfg = $(abs_builddir)/libgotool.a + +# FIXME: The following C files may as well move to the runtime +# directory and be treated like other C files. + +# Use C code to speed up internal/bytealg.IndexByte and friends. +internal/bytealg/bytealg.lo: go/internal/bytealg/bytealg.c runtime.inc + @$(MKDIR_P) internal/bytealg + $(LTCOMPILE) -c -o $@ $(srcdir)/go/internal/bytealg/bytealg.c + +# 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 + +# 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 + +# 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: $(go_text_scanner_files) - $(BUILDDEPS) -text/scanner.lo: $(go_text_scanner_files) - $(BUILDPACKAGE) -text/scanner/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/scanner/check - -@go_include@ text/tabwriter.lo.dep -text/tabwriter.lo.dep: $(go_text_tabwriter_files) - $(BUILDDEPS) -text/tabwriter.lo: $(go_text_tabwriter_files) - $(BUILDPACKAGE) -text/tabwriter/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/tabwriter/check - -@go_include@ text/template.lo.dep -text/template.lo.dep: $(go_text_template_files) - $(BUILDDEPS) -text/template.lo: $(go_text_template_files) - $(BUILDPACKAGE) -text/template/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/template/check - -@go_include@ text/template/parse.lo.dep -text/template/parse.lo.dep: $(go_text_template_parse_files) - $(BUILDDEPS) -text/template/parse.lo: $(go_text_template_parse_files) - $(BUILDPACKAGE) -text/template/parse/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: text/template/parse/check - -@go_include@ testing/iotest.lo.dep -testing/iotest.lo.dep: $(go_testing_iotest_files) - $(BUILDDEPS) -testing/iotest.lo: $(go_testing_iotest_files) - $(BUILDPACKAGE) -testing/iotest/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: testing/iotest/check - -@go_include@ testing/quick.lo.dep -testing/quick.lo.dep: $(go_testing_quick_files) - $(BUILDDEPS) -testing/quick.lo: $(go_testing_quick_files) - $(BUILDPACKAGE) -testing/quick/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: testing/quick/check - -@go_include@ unicode/utf16.lo.dep -unicode/utf16.lo.dep: $(go_unicode_utf16_files) - $(BUILDDEPS) -unicode/utf16.lo: $(go_unicode_utf16_files) - $(BUILDPACKAGE) -unicode/utf16/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: unicode/utf16/check - -@go_include@ unicode/utf8.lo.dep -unicode/utf8.lo.dep: $(go_unicode_utf8_files) - $(BUILDDEPS) -unicode/utf8.lo: $(go_unicode_utf8_files) - $(BUILDPACKAGE) -unicode/utf8/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: unicode/utf8/check - -@go_include@ syscall.lo.dep -syscall.lo.dep: $(go_syscall_files) - $(BUILDDEPS) -syscall.lo: $(go_syscall_files) - $(BUILDPACKAGE) -syscall/errno.lo: go/syscall/errno.c + +# 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 $@ $< -syscall/signame.lo: go/syscall/signame.c + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/clone_linux.c +syscall/errno.lo: go/syscall/errno.c runtime.inc @$(MKDIR_P) syscall - $(LTCOMPILE) -c -o $@ $< -syscall/wait.lo: go/syscall/wait.c + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/errno.c +syscall/signame.lo: go/syscall/signame.c runtime.inc @$(MKDIR_P) syscall - $(LTCOMPILE) -c -o $@ $< -syscall/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: syscall/check - -@go_include@ internal/syscall.lo.dep -internal/syscall.lo.dep: $(go_internal_syscall_files) - $(BUILDDEPS) -internal/syscall.lo: $(go_internal_syscall_files) - $(BUILDPACKAGE) -internal/syscall/check: $(CHECK_DEPS) - @$(CHECK) -.PHONY: internal/syscall/check + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/signame.c +syscall/wait.lo: go/syscall/wait.c runtime.inc + @$(MKDIR_P) syscall + $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/wait.c -# 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 $@ - -bufio.gox: bufio.lo - $(BUILDGOX) -bytes.gox: bytes.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/doc.gox: go/doc.lo - $(BUILDGOX) -go/format.gox: go/format.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) - -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/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) - -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) - -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/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/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) - -sync/atomic.gox: sync/atomic.lo - $(BUILDGOX) - -internal/syscall.gox: internal/syscall.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) - -TEST_PACKAGES = \ - bufio/check \ - bytes/check \ - errors/check \ - expvar/check \ - flag/check \ - fmt/check \ - html/check \ - image/check \ - io/check \ - log/check \ - math/check \ - mime/check \ - net/check \ - os/check \ - path/check \ - reflect/check \ - regexp/check \ - runtime/check \ - sort/check \ - strconv/check \ - strings/check \ - sync/check \ - syscall/check \ - time/check \ - unicode/check \ - archive/tar/check \ - archive/zip/check \ - compress/bzip2/check \ - compress/flate/check \ - compress/gzip/check \ - compress/lzw/check \ - compress/zlib/check \ - container/heap/check \ - container/list/check \ - container/ring/check \ - crypto/aes/check \ - crypto/cipher/check \ - crypto/des/check \ - crypto/dsa/check \ - crypto/ecdsa/check \ - crypto/elliptic/check \ - crypto/hmac/check \ - crypto/md5/check \ - crypto/rand/check \ - crypto/rc4/check \ - crypto/rsa/check \ - crypto/sha1/check \ - crypto/sha256/check \ - crypto/sha512/check \ - crypto/subtle/check \ - crypto/tls/check \ - crypto/x509/check \ - database/sql/check \ - database/sql/driver/check \ - debug/dwarf/check \ - debug/elf/check \ - debug/macho/check \ - debug/pe/check \ - debug/plan9obj/check \ - encoding/ascii85/check \ - encoding/asn1/check \ - encoding/base32/check \ - encoding/base64/check \ - encoding/binary/check \ - encoding/csv/check \ - encoding/gob/check \ - encoding/hex/check \ - encoding/json/check \ - encoding/pem/check \ - encoding/xml/check \ - exp/proxy/check \ - exp/terminal/check \ - html/template/check \ - go/ast/check \ - $(go_build_check_omitted_since_it_calls_6g) \ - go/doc/check \ - go/format/check \ - go/parser/check \ - go/printer/check \ - go/scanner/check \ - go/token/check \ - hash/adler32/check \ - hash/crc32/check \ - hash/crc64/check \ - hash/fnv/check \ - image/color/check \ - image/draw/check \ - image/jpeg/check \ - image/png/check \ - index/suffixarray/check \ - io/ioutil/check \ - log/syslog/check \ - math/big/check \ - math/cmplx/check \ - math/rand/check \ - mime/multipart/check \ - net/http/check \ - net/http/cgi/check \ - net/http/cookiejar/check \ - net/http/fcgi/check \ - net/http/httptest/check \ - net/http/httputil/check \ - net/http/internal/check \ - net/mail/check \ - net/rpc/check \ - net/smtp/check \ - net/textproto/check \ - net/url/check \ - net/rpc/jsonrpc/check \ - old/regexp/check \ - old/template/check \ - os/exec/check \ - os/signal/check \ - os/user/check \ - path/filepath/check \ - regexp/syntax/check \ - runtime/pprof/check \ - sync/atomic/check \ - text/scanner/check \ - text/tabwriter/check \ - text/template/check \ - text/template/parse/check \ - testing/quick/check \ - unicode/utf16/check \ - unicode/utf8/check +# internal/cpu needs some C code. +internal/cpu/cpu_gccgo.lo: go/internal/cpu/cpu_gccgo.c runtime.inc + @$(MKDIR_P) internal/cpu + $(LTCOMPILE) -c -o $@ $(srcdir)/go/internal/cpu/cpu_gccgo.c + +# Similarly, golang.org/x/sys/cpu needs some C code. +golang.org/x/sys/cpu_gccgo.lo: go/golang.org/x/sys/cpu/cpu_gccgo.c runtime.inc + @$(MKDIR_P) golang.org/x/sys + $(LTCOMPILE) -c -o $@ $(srcdir)/go/golang.org/x/sys/cpu/cpu_gccgo.c + +# Solaris 11.4 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 + +# Build golang.org/x/net/route only on BSD systems. + +$(eval $(call PACKAGE_template,golang.org/x/net/route)) + +golangorg_x_net_route_lo = \ + golang.org/net/route.lo + +endif + +if LIBGO_IS_SOLARIS + +# Build golang.org/x/net/lif only on Solaris systems. + +$(eval $(call PACKAGE_template,golang.org/x/net/lif)) + +golangorg_x_net_lif_lo = \ + golang.org/x/net/lif.lo + +endif + +TEST_PACKAGES = $(addsuffix /check,$(shell cat $(srcdir)/check-packages.txt)) check: check-tail check-recursive: check-head @@ -3941,7 +1186,7 @@ check-am: @for f in $(TEST_PACKAGES); do \ rm -f $$f-testsum $$f-testlog; \ done - -@$(MAKE) -k $(TEST_PACKAGES) + -@$(MAKE) $(AM_MAKEFLAGS) -k $(TEST_PACKAGES) @for f in $(TEST_PACKAGES); do \ if test -f $$f-testsum; then \ cat $$f-testsum >> libgo.sum; \ @@ -3955,9 +1200,15 @@ check-multi: $(MULTIDO) $(AM_MAKEFLAGS) DO=check-am multi-do # $(MAKE) bench: - -@$(MAKE) -k $(TEST_PACKAGES) GOBENCH=. + -@$(MAKE) $(AM_MAKEFLAGS) -k $(TEST_PACKAGES) GOBENCH=. -MOSTLYCLEAN_FILES = libgo.head libgo.sum.sep libgo.log.sep +MOSTLYCLEANFILES = \ + s-runtime_sysinfo s-sigtab s-runtime-inc s-zstdpkglist \ + s-libcalls s-libcalls-list s-syscall_arch s-gen-sysinfo s-sysinfo \ + s-errno s-epoll \ + libgo.head libgo.sum.sep libgo.log.sep libgo.var \ + libcalls-list \ + runtime.inc runtime.inc.tmp2 runtime.inc.tmp3 runtime.inc.raw mostlyclean-local: find . -name '*.lo' -print | xargs $(LIBTOOL) --mode=clean rm -f @@ -3965,8 +1216,29 @@ mostlyclean-local: find . -name '*-testsum' -print | xargs rm -f find . -name '*-testlog' -print | xargs rm -f -CLEANFILES = *.go *.gox goc2c *.c s-version libgo.sum libgo.log +CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc clean-local: find . -name '*.la' -print | xargs $(LIBTOOL) --mode=clean rm -f find . -name '*.a' -print | xargs rm -f + find . -name '*.gox' -print | xargs rm -f + find . -name '*.s-gox' -print | xargs rm -f + +distclean-local: + find . -name '*.lo.dep' -print | xargs rm -f + +include $(top_srcdir)/../multilib.am + +if LIBGO_IS_AIX +ALL_LOCAL_DEPS = add-aix-fat-library +else +ALL_LOCAL_DEPS = +endif +all-local: $(ALL_LOCAL_DEPS) + +MAJOR=$(firstword $(subst :, ,$(libtool_VERSION))) +add-aix-fat-library: all-multi + @if test "$(MULTIBUILDTOP)" = ""; then \ + ${AR} -X$(AIX_DEFAULT_ARCH) rc .libs/$(PACKAGE).a ../ppc$(AIX_DEFAULT_ARCH)/$(PACKAGE)/.libs/$(PACKAGE).so.$(MAJOR); \ + ${AR} -X$(AIX_DEFAULT_ARCH) rc ../pthread/$(PACKAGE)/.libs/$(PACKAGE).a ../pthread/ppc$(AIX_DEFAULT_ARCH)/$(PACKAGE)/.libs/$(PACKAGE).so.$(MAJOR); \ + fi