blob: cac5d782276e8f972885d69fc3ca18457064b1b8 [file] [log] [blame]
Brad Bishopd7bf8c12018-02-25 22:55:05 -05001inherit goarch
2DEPENDS = "virtual/${TARGET_PREFIX}go go-native"
3DEPENDS_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk go-native"
4
5export GOHOSTOS = "${BUILD_GOOS}"
6export GOHOSTARCH = "${BUILD_GOARCH}"
7export GOOS = "${TARGET_GOOS}"
8export GOARCH = "${TARGET_GOARCH}"
9export GOARM = "${TARGET_GOARM}"
10export GO386 = "${TARGET_GO386}"
11export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
12export GOROOT_FINAL = "${libdir}/go"
13export CGO_ENABLED = "1"
14export CC_FOR_TARGET = "${CC}"
15export CXX_FOR_TARGET = "${CXX}"
16export GO_TARGET_INSTALL = "cmd"
17export GO_FLAGS = "-a"
18GO_LDFLAGS = ""
19GO_LDFLAGS_class-nativesdk = "-linkmode external"
20export GO_LDFLAGS
21
22SECURITY_CFLAGS = "${SECURITY_NOPIE_CFLAGS}"
23SECURITY_LDFLAGS = ""
24
25do_configure[noexec] = "1"
26
27do_compile() {
28 export GOBIN="${B}/bin"
29 export CC="${@d.getVar('BUILD_CC').strip()}"
30 rm -rf ${GOBIN} ${B}/pkg
31 mkdir ${GOBIN}
32
33 export TMPDIR=${WORKDIR}/build-tmp
34 mkdir -p ${WORKDIR}/build-tmp
35
36 cd src
37 ./make.bash
38 cd ${B}
39}
40
41do_install() {
42 install -d ${D}${libdir}/go/pkg/tool
43 cp --preserve=mode,timestamps -R ${B}/pkg/tool/${TARGET_GOTUPLE} ${D}${libdir}/go/pkg/tool/
44 install -d ${D}${libdir}/go/src
45 cp --preserve=mode,timestamps -R ${S}/src/cmd ${D}${libdir}/go/src/
46 install -d ${D}${libdir}/go/bin
47 install -d ${D}${bindir}
48 for f in ${B}/${GO_BUILD_BINDIR}/*; do
49 name=`basename $f`
50 install -m 0755 $f ${D}${libdir}/go/bin/
51 ln -sf ../${BASELIB}/go/bin/$name ${D}${bindir}/
52 done
53}
54
55PACKAGES = "${PN} ${PN}-dev"
56FILES_${PN} = "${libdir}/go/bin ${libdir}/go/pkg/tool/${TARGET_GOTUPLE} ${bindir}"
57FILES_${PN}-dev = "${libdir}/go"
58RDEPENDS_${PN}-dev = "perl bash"
59INSANE_SKIP_${PN} = "ldflags"
60
61BBCLASSEXTEND = "nativesdk"