Add FreeBSD to TravisCI
Implement the generation of Travis jobs for FreeBSD. The generated jobs replicate the existing CirrusCI config.
This commit is contained in:
parent
a93931537e
commit
fdb6c10162
48
.travis.yml
48
.travis.yml
@ -304,6 +304,54 @@ jobs:
|
|||||||
- os: osx
|
- os: osx
|
||||||
arch: amd64
|
arch: amd64
|
||||||
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--with-malloc-conf=tcache:false" EXTRA_CFLAGS="-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--with-malloc-conf=tcache:false" EXTRA_CFLAGS="-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-deprecated-declarations"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-debug"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-prof --enable-prof-libunwind"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-debug --enable-prof --enable-prof-libunwind"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-debug --with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes CONFIGURE_FLAGS="--enable-debug"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-prof --enable-prof-libunwind --with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes CONFIGURE_FLAGS="--enable-prof --enable-prof-libunwind"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes CONFIGURE_FLAGS="--with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-debug --enable-prof --enable-prof-libunwind --with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes CONFIGURE_FLAGS="--enable-debug --enable-prof --enable-prof-libunwind"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes CONFIGURE_FLAGS="--enable-debug --with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes CONFIGURE_FLAGS="--enable-prof --enable-prof-libunwind --with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
|
- os: freebsd
|
||||||
|
arch: amd64
|
||||||
|
env: CC=gcc CXX=g++ CROSS_COMPILE_32BIT=yes CONFIGURE_FLAGS="--enable-debug --enable-prof --enable-prof-libunwind --with-lg-page=16 --with-malloc-conf=tcache:false"
|
||||||
# Development build
|
# Development build
|
||||||
- os: linux
|
- os: linux
|
||||||
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-debug --disable-cache-oblivious --enable-stats --enable-log --enable-prof" EXTRA_CFLAGS="-Werror -Wno-array-bounds"
|
env: CC=gcc CXX=g++ CONFIGURE_FLAGS="--enable-debug --disable-cache-oblivious --enable-stats --enable-log --enable-prof" EXTRA_CFLAGS="-Werror -Wno-array-bounds"
|
||||||
|
3
scripts/freebsd/before_install.sh
Normal file
3
scripts/freebsd/before_install.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/tcsh
|
||||||
|
|
||||||
|
su -m root -c 'pkg install -y git'
|
10
scripts/freebsd/before_script.sh
Normal file
10
scripts/freebsd/before_script.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/tcsh
|
||||||
|
|
||||||
|
autoconf
|
||||||
|
# We don't perfectly track freebsd stdlib.h definitions. This is fine when
|
||||||
|
# we count as a system header, but breaks otherwise, like during these
|
||||||
|
# tests.
|
||||||
|
./configure --with-jemalloc-prefix=ci_ ${COMPILER_FLAGS:+ CC="$CC $COMPILER_FLAGS" CXX="$CXX $COMPILER_FLAGS"} $CONFIGURE_FLAGS
|
||||||
|
JE_NCPUS=`sysctl -n kern.smp.cpus`
|
||||||
|
gmake -j${JE_NCPUS}
|
||||||
|
gmake -j${JE_NCPUS} tests
|
3
scripts/freebsd/script.sh
Normal file
3
scripts/freebsd/script.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/tcsh
|
||||||
|
|
||||||
|
gmake check
|
@ -7,6 +7,7 @@ from enum import Enum, auto
|
|||||||
LINUX = 'linux'
|
LINUX = 'linux'
|
||||||
OSX = 'osx'
|
OSX = 'osx'
|
||||||
WINDOWS = 'windows'
|
WINDOWS = 'windows'
|
||||||
|
FREEBSD = 'freebsd'
|
||||||
|
|
||||||
|
|
||||||
AMD64 = 'amd64'
|
AMD64 = 'amd64'
|
||||||
@ -140,6 +141,9 @@ all_unusuals = (compilers_unusual + feature_unusuals
|
|||||||
|
|
||||||
|
|
||||||
def get_extra_cflags(os, compiler):
|
def get_extra_cflags(os, compiler):
|
||||||
|
if os == FREEBSD:
|
||||||
|
return []
|
||||||
|
|
||||||
if os == WINDOWS:
|
if os == WINDOWS:
|
||||||
# For non-CL compilers under Windows (for now it's only MinGW-GCC),
|
# For non-CL compilers under Windows (for now it's only MinGW-GCC),
|
||||||
# -fcommon needs to be specified to correctly handle multiple
|
# -fcommon needs to be specified to correctly handle multiple
|
||||||
@ -273,6 +277,19 @@ def generate_windows(arch):
|
|||||||
return generate_jobs(os, arch, (), max_unusual_opts, unusuals)
|
return generate_jobs(os, arch, (), max_unusual_opts, unusuals)
|
||||||
|
|
||||||
|
|
||||||
|
def generate_freebsd(arch):
|
||||||
|
os = FREEBSD
|
||||||
|
|
||||||
|
max_unusual_opts = 4
|
||||||
|
unusuals = (
|
||||||
|
Option.as_configure_flag('--enable-debug'),
|
||||||
|
Option.as_configure_flag('--enable-prof --enable-prof-libunwind'),
|
||||||
|
Option.as_configure_flag('--with-lg-page=16 --with-malloc-conf=tcache:false'),
|
||||||
|
CROSS_COMPILE_32BIT,
|
||||||
|
)
|
||||||
|
return generate_jobs(os, arch, (), max_unusual_opts, unusuals)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_manual_jobs():
|
def get_manual_jobs():
|
||||||
return """\
|
return """\
|
||||||
@ -298,6 +315,8 @@ def main():
|
|||||||
|
|
||||||
#generate_windows(AMD64),
|
#generate_windows(AMD64),
|
||||||
|
|
||||||
|
generate_freebsd(AMD64),
|
||||||
|
|
||||||
get_manual_jobs()
|
get_manual_jobs()
|
||||||
))
|
))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user