On Thu, Jun 22, 2017 at 12:13 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
>
> However, there is one another issue with zdefaultcc.go generation. On
> my system, the default gccgo, gcc and g++ are installed in:
>
> $ which gccgo
> /usr/bin/gccgo
> $ which gcc
> /usr/bin/gcc
>
> but gotools Makefile uses $(bindir) to derive absolute path to the binaries:
>
>         echo 'package main' > zdefaultcc.go.tmp
>         echo 'const defaultGCCGO = "$(bindir)/$(GCCGO_INSTALL_NAME)"'
>>> zdefaultcc.go.tmp
>         echo 'const defaultCC = "$(bindir)/$(GCC_INSTALL_NAME)"' >>
> zdefaultcc.go.tmp
>         echo 'const defaultCXX = "$(bindir)/$(GXX_INSTALL_NAME)"' >>
> zdefaultcc.go.tmp
>         echo 'const defaultPkgConfig = "pkg-config"' >> zdefaultcc.go.tmp
>
> However, since $prefix (by default) points to /usr/local, $bindir
> points to /usr/local/bin. Consequently, zdefaultcc.go reads:
>
> package main
> const defaultGCCGO = "/usr/local/bin/gccgo"
> const defaultCC = "/usr/local/bin/gcc"
> const defaultCXX = "/usr/local/bin/g++"
> const defaultPkgConfig = "pkg-config"
>
> The absolute path is wrong, since - as mentioned above - the system
> compiler is installed in /usr/bin.
>
> Probably we just need to remove $bindir and assume that these binaries
> exist in $PATH.

I did that for defaultCC and defaultCXX, as appended.

Ian


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

* Makefile.am (s-zdefaultcc): Don't record $(bindir) for defaultCC
or defaultCXX.
* Makefile.in: Rebuild.
Index: Makefile.am
===================================================================
--- Makefile.am (revision 249668)
+++ Makefile.am (working copy)
@@ -100,8 +100,8 @@ zdefaultcc.go: s-zdefaultcc; @true
 s-zdefaultcc: Makefile
        echo 'package main' > zdefaultcc.go.tmp
        echo 'const defaultGCCGO = "$(bindir)/$(GCCGO_INSTALL_NAME)"' >> 
zdefaultcc.go.tmp
-       echo 'const defaultCC = "$(bindir)/$(GCC_INSTALL_NAME)"' >> 
zdefaultcc.go.tmp
-       echo 'const defaultCXX = "$(bindir)/$(GXX_INSTALL_NAME)"' >> 
zdefaultcc.go.tmp
+       echo 'const defaultCC = "$(GCC_INSTALL_NAME)"' >> zdefaultcc.go.tmp
+       echo 'const defaultCXX = "$(GXX_INSTALL_NAME)"' >> zdefaultcc.go.tmp
        echo 'const defaultPkgConfig = "pkg-config"' >> zdefaultcc.go.tmp
        $(SHELL) $(srcdir)/../move-if-change zdefaultcc.go.tmp zdefaultcc.go
        $(STAMP) $@ 
Index: Makefile.in
===================================================================
--- Makefile.in (revision 249668)
+++ Makefile.in (working copy)
@@ -582,8 +582,8 @@ distclean-generic:
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
-@NATIVE_FALSE@uninstall-local:
 @NATIVE_FALSE@install-exec-local:
+@NATIVE_FALSE@uninstall-local:
 clean: clean-am
 
 clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
@@ -682,8 +682,8 @@ zdefaultcc.go: s-zdefaultcc; @true
 s-zdefaultcc: Makefile
        echo 'package main' > zdefaultcc.go.tmp
        echo 'const defaultGCCGO = "$(bindir)/$(GCCGO_INSTALL_NAME)"' >> 
zdefaultcc.go.tmp
-       echo 'const defaultCC = "$(bindir)/$(GCC_INSTALL_NAME)"' >> 
zdefaultcc.go.tmp
-       echo 'const defaultCXX = "$(bindir)/$(GXX_INSTALL_NAME)"' >> 
zdefaultcc.go.tmp
+       echo 'const defaultCC = "$(GCC_INSTALL_NAME)"' >> zdefaultcc.go.tmp
+       echo 'const defaultCXX = "$(GXX_INSTALL_NAME)"' >> zdefaultcc.go.tmp
        echo 'const defaultPkgConfig = "pkg-config"' >> zdefaultcc.go.tmp
        $(SHELL) $(srcdir)/../move-if-change zdefaultcc.go.tmp zdefaultcc.go
        $(STAMP) $@ 

Reply via email to