Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIPS64 CI Build Support #2

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .appveyor.yml

This file was deleted.

259 changes: 225 additions & 34 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,227 @@
language: cpp
git:
depth: 3
env:
global:
- secure: "OKc6Mojr/tBf2AP0IwZBeey0NXfrdxesfPhXlHPVQfbT4RbZwfaLnLbKsPV2MCRo0j5+vCxTiEEg+2tKIfpwOASyD8P0Qh3Isa4DjtueB8M/tdCzWYLGxJ6poGjMjd8cLUoExBfiNO7CL32B4Z83IEbpzC2ScPJRBnI2pmvCmniB9Wqt3yQUnlVc96e009ubrs6G5uMfzelAkVBsm9BexFxCtPBM5G6T8RDTKQ6h27pQlBjQnNn6s8JAod6u5byN4tmApW7ockham3sQ1c1+vTqnt97a6MS2O+G4/FdkJ/ex3I99wl1xHH6C89IicgN/xX+P/9JL4AWYP778AtRIXeSk3G6wMaWzeNYD+36T5iTvqniY0rqgPOcpnf78TjueUn57crqdt5tWaFUME7AB8/mSqPgKiiC1wuAoz85h/AOeiRtxd7zAHLk+blvIWOR+Z5yuHwCRFA7eemXriTfUU2LczS229IgD4yyqMYMVOksmo5bPmPL/vPsl0aIXQLEBS91OFxQKMPQu9gSJ3dqiObmhVnJ7OOhBxJ8deAC81nn76v6UaE7O0g4RiDeytOhiap/4MUjLDi9aR9WOX3rTvI5ZFxtKMMvFFjgs/0reWfdqW8kzCfPLzzaV83oYjsc5hhrQBBFN5gEbRwoIXdHvHMhqBU76jmQJF+J/KMcxGk4="
- secure: "JDqvzWz0yehxBWzggNcRg2TUUolL0lX2y/ErBexkLmvNnUha8tU7IdN+2wcmiv2Jmhjnkv4hpvIMFqkiu2Nl2Lib+77lu22jLBkmwcfQzEdujmam7jkWr7Y/RxmF9FhkNViJ80/rtgCyGEHGBmMohJ90++Ix3FgMTIH6UbHbb6wGDAkN6C3KnBBPvjK/rIj3MuVFc0q7vVHTIRCAFZ/b6zDGozlDorbqt0yKEhQBW/U/f4jkeuYzjsHdKNtWzdf1VFaZz2YxynM6OE9k4rbWpPPeAM2gOp2+mAEbEZzavgXkNpEu3rvdGBjeQEyEpV57R2KE4xodp3xmXoIF4s05xAo4sn3VzGdtBG8mRxfaUczKr43Ys3wIv13zXYCsmb1NF9xG8SGueRdEK+r2BY6wtLj6K/lG3NEx25UPfp16OQoEzHI8F7yNmVGyb3oKphrq+7OJgUOyeL8OQAiQiK0lTuEr6T+0r36AmhdKKOsQxO8vGLhIAUjRSC6tcMERK4rHQFbgiPEFeA9yBJ9MSbVGOzgietlxS1hV1CidTcrdb+LweSDRY/sNpe/B2HGRKhycXRcAwhf4R1kQ4/G9KqitF13BNzNX6rnkUt0fHaH3kddSR1CkgFFF9sZ12bnRJQK8Til1KwLmzaL0pcsAGe+DAYUxulQKDwOUVbZU2nLmoiA="
- AWS_DEFAULT_REGION: "us-east-1"
- S3_PARAMS: '"--acl public-read --cache-control \"public,must-revalidate,proxy-revalidate,max-age=0\""'

matrix:
include:
- compiler: gcc
os: linux
- compiler: clang
os: osx

addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-8
- g++-8
- clang
- libgl1-mesa-dev
- x11proto-core-dev
- libx11-dev

before_script:
- git clone --depth 1 https://github.com/bkaradzic/bx ../bx
- git clone --depth 1 https://github.com/bkaradzic/bimg ../bimg

script:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then make build CXX="g++-8" CC="gcc-8"; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then make osx-debug64; fi

branches:
only:
- master

notifications:
email: false

osx_image: xcode10.3

# -----------------
- name: "Linux x64"
# -----------------
dist: xenial
language: cpp
compiler: gcc

addons:
apt:
packages:
- gcc-5
- g++-5
- libgl1-mesa-dev
- x11proto-core-dev
- libx11-dev

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

script:
- ../bx/tools/bin/linux/genie --with-shared-lib --with-tools --gcc=linux-gcc gmake
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" LDFLAGS=-Wl,--wrap,memcpy bgfx-shared-lib
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" geometryc
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" texturec
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" texturev
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" shaderc
- strip .build/linux64_gcc/bin/libbgfx-shared-libRelease.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.so.git"
- "aws s3 cp .build/linux64_gcc/bin/libbgfx-shared-libRelease.so s3://build.lwjgl.org/nightly/linux/x64/libbgfx.so $S3_PARAMS"
- "aws s3 cp libbgfx.so.git s3://build.lwjgl.org/nightly/linux/x64/ $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/geometrycRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/geometryc $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/texturecRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/texturec $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/texturevRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/texturev $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/shadercRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/shaderc $S3_PARAMS"

# -----------------
- name: "Linux arm32"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- gcc-5-arm-linux-gnueabihf
- g++-5-arm-linux-gnueabihf
- libc6-dev-armhf-cross

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
- sudo grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
- sudo sed -i 's/amd64,i386/armhf,arm64/' /etc/apt/sources.list.d/ports.list
- sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
- sudo dpkg --add-architecture armhf
- sudo apt-get update || true
- sudo apt-get -yq --no-install-suggests --no-install-recommends install libgl1-mesa-dev:armhf x11proto-core-dev:armhf libx11-dev:armhf -o Dpkg::Options::="--force-overwrite"
- sudo ln -s /usr/lib/arm-linux-gnueabihf/mesa/libGL.so.1 /usr/lib/libGL.so

script:
- sed -i 's/strip -s/arm-linux-gnueabihf-strip/' ../bx/scripts/toolchain.lua
- ../bx/tools/bin/linux/genie --with-shared-lib --gcc=linux-arm-gcc gmake
- make -R -C .build/projects/gmake-linux-arm-gcc config=release CXX="arm-linux-gnueabihf-g++-5" CC="arm-linux-gnueabihf-gcc-5" CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" bgfx-shared-lib
- arm-linux-gnueabihf-strip .build/linux32_arm_gcc/bin/libbgfx-shared-libRelease.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.so.git"
- "aws s3 cp .build/linux32_arm_gcc/bin/libbgfx-shared-libRelease.so s3://build.lwjgl.org/nightly/linux/arm32/libbgfx.so $S3_PARAMS"
- "aws s3 cp libbgfx.so.git s3://build.lwjgl.org/nightly/linux/arm32/ $S3_PARAMS"

# -----------------
- name: "Linux arm64"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- gcc-5-aarch64-linux-gnu
- g++-5-aarch64-linux-gnu
- libc6-dev-arm64-cross

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
- sudo grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
- sudo sed -i 's/amd64,i386/arm64,arm64/' /etc/apt/sources.list.d/ports.list
- sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
- sudo dpkg --add-architecture arm64
- sudo apt-get update || true
- sudo apt-get -yq --no-install-suggests --no-install-recommends install libgl1-mesa-dev:arm64 x11proto-core-dev:arm64 libx11-dev:arm64 -o Dpkg::Options::="--force-overwrite"
- sudo ln -s /usr/lib/aarch64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

script:
- sed -i 's/strip -s/aarch64-linux-gnu-strip/' ../bx/scripts/toolchain.lua
- ../bx/tools/bin/linux/genie --with-shared-lib --gcc=linux-arm-gcc gmake
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bgfx.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bgfx-shared-lib.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bimg.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bimg_decode.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bx.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bgfx.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bgfx-shared-lib.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bimg.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bimg_decode.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bx.make
- make -R -C .build/projects/gmake-linux-arm-gcc config=release64 CXX="aarch64-linux-gnu-g++-5" CC="aarch64-linux-gnu-gcc-5" CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" bgfx-shared-lib
- aarch64-linux-gnu-strip .build/linux64_arm_gcc/bin/libbgfx-shared-libRelease.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.so.git"
- "aws s3 cp .build/linux64_arm_gcc/bin/libbgfx-shared-libRelease.so s3://build.lwjgl.org/nightly/linux/arm64/libbgfx.so $S3_PARAMS"
- "aws s3 cp libbgfx.so.git s3://build.lwjgl.org/nightly/linux/arm64/ $S3_PARAMS"

# -----------------
- name: "Linux mips64"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- gcc-5-mips64el-linux-gnuabi64
- g++-5-mips64el-linux-gnuabi64
- libc6-dev-mips64el-cross

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo rm -rf /etc/apt/sources.list
- sudo sh -c "echo 'deb http://deb.debian.org/debian stretch main' >> /etc/apt/sources.list"
- sudo dpkg --add-architecture mips64el
- sudo apt-get update || true
- sudo apt-get -yq -f --allow-unauthenticated --no-install-suggests --no-install-recommends install libgl1-mesa-dev:mips64el x11proto-core-dev:mips64el libx11-dev:mips64el mesa-common-dev:mips64el libgl1-mesa-glx:mips64el libdrm-dev:mips64el libdrm2:mips64el libdrm-radeon1:mips64el libdrm-nouveau2:mips64el libdrm-amdgpu1:mips64el libglapi-mesa:mips64el -o Dpkg::Options::="--force-overwrite"
- sudo ln -s /usr/lib/mips64el-linux-gnuabi64/mesa/libGL.so.1 /usr/lib/libGL.so

script:
- sed -i 's/strip -s/mips64el-linux-gnuabi64-strip/' ../bx/scripts/toolchain.lua
- ../bx/tools/bin/linux/genie --with-shared-lib --gcc=linux-mips-gcc gmake
- sed -i 's/ -m64//' .build/projects/gmake-linux-mips-gcc/bgfx.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-mips-gcc/bgfx-shared-lib.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-mips-gcc/bimg.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-mips-gcc/bimg_decode.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-mips-gcc/bx.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-mips-gcc/bgfx.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-mips-gcc/bgfx-shared-lib.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-mips-gcc/bimg.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-mips-gcc/bimg_decode.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-mips-gcc/bx.make
- make -R -C .build/projects/gmake-linux-mips-gcc config=release64 CXX="mips64el-linux-gnuabi64-g++-5" CC="mips64el-linux-gnuabi64-gcc-5" CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" bgfx-shared-lib
- mips64el-linux-gnuabi64-strip .build/linux64_mips_gcc/bin/libbgfx-shared-libRelease.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.so.git"
- "aws s3 cp .build/linux64_mips_gcc/bin/libbgfx-shared-libRelease.so s3://build.lwjgl.org/nightly/linux/mips64/libbgfx.so $S3_PARAMS"
- "aws s3 cp libbgfx.so.git s3://build.lwjgl.org/nightly/linux/mips64/ $S3_PARAMS"

# -----------------
- name: "macOS"
# -----------------
language: objective-c
compiler: clang
osx_image: xcode11.3

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- brew update

install:
#- brew unlink python
#- brew install python
- brew install awscli

script:
- ../bx/tools/bin/darwin/genie --with-shared-lib --with-tools --with-macos=10.9 --gcc=osx gmake
#- make -C .build/projects/gmake-osx config=release64 CFLAGS="-mmacosx-version-min=10.9 -D BGFX_CONFIG_RENDERER_METAL=1 -D BGFX_CONFIG_RENDERER_OPENGL=1" LDFLAGS=-mmacosx-version-min=10.9 bgfx-shared-lib
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 geometryc
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 texturec
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 texturev
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 shaderc
- make -C .build/projects/gmake-osx config=release64 CFLAGS="-D BGFX_CONFIG_RENDERER_METAL=1 -D BGFX_CONFIG_RENDERER_OPENGL=1" bgfx-shared-lib
- make -C .build/projects/gmake-osx config=release64 geometryc
- make -C .build/projects/gmake-osx config=release64 texturec
- make -C .build/projects/gmake-osx config=release64 texturev
- make -C .build/projects/gmake-osx config=release64 shaderc
- strip -u -r .build/osx64_clang/bin/libbgfx-shared-libRelease.dylib
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.dylib.git"
- "aws s3 cp .build/osx64_clang/bin/libbgfx-shared-libRelease.dylib s3://build.lwjgl.org/nightly/macosx/x64/libbgfx.dylib $S3_PARAMS"
- "aws s3 cp libbgfx.dylib.git s3://build.lwjgl.org/nightly/macosx/x64/ --acl public-read --cache-control \"public, must-revalidate, proxy-revalidate, max-age=0\""
- "aws s3 cp .build/osx64_clang/bin/geometrycRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/geometryc $S3_PARAMS"
- "aws s3 cp .build/osx64_clang/bin/texturecRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/texturec $S3_PARAMS"
- "aws s3 cp .build/osx64_clang/bin/texturevRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/texturev $S3_PARAMS"
- "aws s3 cp .build/osx64_clang/bin/shadercRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/shaderc $S3_PARAMS"
64 changes: 64 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
version: '{build}'
skip_tags: true
image: Visual Studio 2019
clone_depth: 3
environment:
AWS_ACCESS_KEY_ID:
secure: 7jhk0oV/vjFsOcsAHLMUcNGUGLuGmnuPxGH0ce/Vky8=
AWS_SECRET_ACCESS_KEY:
secure: 5KKYpsIHwYHHh5ud0U7Ss0rLumv6G8tkS6abh1B9aq4wY6+1kq5fN/3E5BsdBVKy
AWS_DEFAULT_REGION: us-east-1
S3_CONFIG_VOLATILE: --acl public-read --cache-control "public, must-revalidate, proxy-revalidate, max-age=0"
GIT_FORMAT: '%%H'
matrix:
- ARCH: x64
PLATFORM: amd64
BUILD: x64
WIN: 64
- ARCH: x86
PLATFORM: amd64_x86
BUILD: Win32
WIN: 32
matrix:
fast_finish: true
install:
- git clone https://github.com/LWJGL-CI/bx.git ../bx
- git clone https://github.com/LWJGL-CI/bimg.git ../bimg
build_script:
- cmd: >-
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM%
..\bx\tools\bin\windows\genie --with-shared-lib --with-tools vs2019 --platform x%WIN%
devenv .build\projects\vs2019\bgfx.sln /Project bgfx-shared-lib /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project geometryc /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project texturec /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project texturev /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project "shaderc (tools\shaderc\shaderc)" /Build "Release|%BUILD%"
aws s3 cp .build/win%WIN%_vs2019/bin/bgfx-shared-libRelease.dll s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx.dll %S3_CONFIG_VOLATILE%
git log --first-parent --pretty=format:%GIT_FORMAT% HEAD~2..HEAD~1 > revision.git
aws s3 cp revision.git s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx.dll.git %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/geometrycRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/geometryc.exe %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/texturecRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/texturec.exe %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/texturevRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/texturev.exe %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/shadercRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/shaderc.exe %S3_CONFIG_VOLATILE%
test: off
notifications:
- provider: Email
to:
- iotsakp@gmail.com
subject: bgfx CI
on_build_success: true
on_build_failure: true
on_build_status_changed: true
Loading