mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-11 18:20:33 +09:00
linux build support
This commit is contained in:
parent
8677748f5a
commit
25391ebea5
3 changed files with 39 additions and 14 deletions
|
@ -86,7 +86,7 @@ jobs:
|
|||
COMMIT=$(echo $CIRCLE_SHA1 | cut -c -7)
|
||||
DATE=$(date --iso-8601=seconds)
|
||||
FLAGS="-X github.com/anytypeio/go-anytype-middleware/common.GitSummary=${GIT_SUMMARY} -X github.com/anytypeio/go-anytype-middleware/common.BuildDate=${DATE} -X github.com/anytypeio/go-anytype-middleware/common.GitCommit=${COMMIT} -X github.com/anytypeio/go-anytype-middleware/common.GitBranch=${CIRCLE_BRANCH} -X github.com/anytypeio/go-anytype-middleware/common.GitState=clean"
|
||||
gox -ldflags="-w $FLAGS" -buildmode=c-archive -osarch="linux/amd64" -output="{{.OS}}-{{.Arch}}.so" github.com/anytypeio/go-anytype-middleware/lib/clib
|
||||
gox -ldflags="-w $FLAGS" -buildmode=c-archive -osarch="linux/amd64" -output="{{.OS}}-{{.Arch}}.a" github.com/anytypeio/go-anytype-middleware/lib/clib
|
||||
- save_cache:
|
||||
key: go-pkg-v2-{{ arch }}-{{ checksum "go.sum" }}
|
||||
paths:
|
||||
|
@ -109,12 +109,32 @@ jobs:
|
|||
for i in "${arr[@]}"
|
||||
do
|
||||
OSARCH=${i%.*}
|
||||
cp ../${i}.so lib.so
|
||||
cp ../${i}.a lib.a
|
||||
cp ../${i}.h lib.h
|
||||
tar -czvf lib_${VERSION}_${OSARCH}.tar.gz lib.so lib.h protos
|
||||
tar -czvf lib_${VERSION}_${OSARCH}.tar.gz lib.a lib.h protos
|
||||
mv lib_${VERSION}_${OSARCH}.tar.gz ${OUT}/
|
||||
done
|
||||
cd .. && rm -rf tmp
|
||||
- run:
|
||||
name: compile addon
|
||||
command: |
|
||||
VERSION=$(echo $CIRCLE_SHA1 | cut -c -7)
|
||||
if [ "${CIRCLE_TAG}" != "" ]; then
|
||||
VERSION=${CIRCLE_TAG}
|
||||
fi
|
||||
OUT=~/dist/lib
|
||||
cp ~/project/linux-amd64.a ./dist/lib.a
|
||||
cp ~/project/linux-amd64.a ./dist/lib.h
|
||||
make build-js
|
||||
|
||||
npm install
|
||||
npm run build:ts
|
||||
mv build/ts protobuf
|
||||
mkdir protobuf/protos
|
||||
mv pb/protos/*.proto ./protobuf/protos
|
||||
mv jsaddon/build addon
|
||||
tar -czvf js_${VERSION}_linux-amd64.tar.gz protobuf addon
|
||||
mv js_${VERSION}_linux-amd64.tar.gz ${OUT}/
|
||||
- persist_to_workspace:
|
||||
root: ~/dist
|
||||
paths:
|
||||
|
@ -183,11 +203,11 @@ jobs:
|
|||
COMMIT=$(echo $CIRCLE_SHA1 | cut -c -7)
|
||||
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
FLAGS="-X github.com/anytypeio/go-anytype-middleware/common.GitSummary=${GIT_SUMMARY} -X github.com/anytypeio/go-anytype-middleware/common.BuildDate=${DATE} -X github.com/anytypeio/go-anytype-middleware/common.GitCommit=${COMMIT} -X github.com/anytypeio/go-anytype-middleware/common.GitBranch=${CIRCLE_BRANCH} -X github.com/anytypeio/go-anytype-middleware/common.GitState=clean"
|
||||
gox -buildmode=c-archive -ldflags="-w $FLAGS" -osarch="darwin/amd64" -output="{{.OS}}-{{.Arch}}.so" github.com/anytypeio/go-anytype-middleware/lib/clib
|
||||
CC="x86_64-w64-mingw32-gcc" CXX="x86_64-w64-mingw32-g++" gox -buildmode=c-archive -ldflags="-w $FLAGS" -cgo -osarch="windows/amd64" -output="{{.OS}}-{{.Arch}}.so" github.com/anytypeio/go-anytype-middleware/lib/clib
|
||||
gox -buildmode=c-archive -ldflags="-w $FLAGS" -osarch="darwin/amd64" -output="{{.OS}}-{{.Arch}}.a" github.com/anytypeio/go-anytype-middleware/lib/clib
|
||||
CC="x86_64-w64-mingw32-gcc" CXX="x86_64-w64-mingw32-g++" gox -buildmode=c-archive -ldflags="-w $FLAGS" -cgo -osarch="windows/amd64" -output="{{.OS}}-{{.Arch}}.a" github.com/anytypeio/go-anytype-middleware/lib/clib
|
||||
# workaround for gox putting .exe ext
|
||||
mv windows-amd64.so.exe windows-amd64.so
|
||||
mv windows-amd64.so.h windows-amd64.h
|
||||
mv windows-amd64.a.exe windows-amd64.a
|
||||
mv windows-amd64.a.h windows-amd64.h
|
||||
- save_cache:
|
||||
key: go-pkg-v2-{{ arch }}-{{ checksum "go.sum" }}
|
||||
paths:
|
||||
|
@ -209,9 +229,9 @@ jobs:
|
|||
for i in "${arr[@]}"
|
||||
do
|
||||
OSARCH=${i%.*}
|
||||
cp ../${i}.so lib.so
|
||||
cp ../${i}.a lib.a
|
||||
cp ../${i}.h lib.h
|
||||
tar -czvf lib_${VERSION}_${OSARCH}.tar.gz lib.so lib.h protos
|
||||
tar -czvf lib_${VERSION}_${OSARCH}.tar.gz lib.a lib.h protos
|
||||
mv lib_${VERSION}_${OSARCH}.tar.gz ${OUT}/
|
||||
done
|
||||
cd .. && rm -rf tmp
|
||||
|
@ -223,7 +243,7 @@ jobs:
|
|||
VERSION=${CIRCLE_TAG}
|
||||
fi
|
||||
OUT=~/dist/lib
|
||||
cp ~/project/darwin-amd64.so ./dist/lib.so
|
||||
cp ~/project/darwin-amd64.a ./dist/lib.a
|
||||
cp ~/project/darwin-amd64.h ./dist/lib.h
|
||||
make build-js
|
||||
|
||||
|
|
6
Makefile
6
Makefile
|
@ -21,10 +21,10 @@ test:
|
|||
build-lib:
|
||||
$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-middleware/lib))
|
||||
export GO111MODULE=on
|
||||
go build -o dist/lib.so -ldflags "$(FLAGS)" -buildmode=c-archive -v ./lib/clib
|
||||
go build -o dist/lib.a -ldflags "$(FLAGS) -w -s" -buildmode=c-archive -v ./lib/clib
|
||||
|
||||
build-js:
|
||||
cp dist/lib.so jsaddon/lib.so
|
||||
cp dist/lib.a jsaddon/lib.a
|
||||
cp dist/lib.h jsaddon/lib.h
|
||||
cp lib/clib/bridge.h jsaddon/bridge.h
|
||||
# Electron's version.
|
||||
|
@ -40,7 +40,7 @@ build-js:
|
|||
# Tell node-pre-gyp to build module from source code.
|
||||
export npm_config_build_from_source=true
|
||||
npm install -C ./jsaddon
|
||||
rm jsaddon/lib.so jsaddon/lib.h jsaddon/bridge.h
|
||||
rm jsaddon/lib.a jsaddon/lib.h jsaddon/bridge.h
|
||||
|
||||
build-ios:
|
||||
$(eval FLAGS := $$(shell govvv -flags | sed 's/main/github.com\/anytypeio\/go-anytype-middleware\/lib/g'))
|
||||
|
|
|
@ -3,7 +3,12 @@
|
|||
{
|
||||
'target_name': 'addon',
|
||||
'sources': [ 'addon.c' ],
|
||||
"libraries": [ "<!(pwd)/lib.so" ]
|
||||
"libraries": ["<!(pwd)/lib.a" ],
|
||||
"conditions": [
|
||||
[ "OS=='linux'", {
|
||||
"ldflags": [ "-Wl,-Bsymbolic" ]
|
||||
}]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue