[7.4.14]
[platform/upstream/libatomic_ops.git] / .travis.yml
1 language: c
2
3 matrix:
4   include:
5   - os: linux
6     compiler: clang
7   - os: linux
8     compiler: gcc
9   - os: osx
10   - os: linux
11     env:
12     - MAKEFILE_TARGET=distcheck
13     - AUTOMAKE_VER=1.15
14     - M4_VER=1.4.18
15     - LIBTOOL_VER=2.4.6
16   - os: linux
17     env:
18     - MAKEFILE_TARGET=dist
19   - os: linux
20     compiler: clang
21     env:
22     - CFLAGS_EXTRA="-O3 -march=native"
23     - CONF_OPTIONS="--enable-assertions"
24   - os: linux
25     compiler: gcc
26     env:
27     - CFLAGS_EXTRA="-O3 -march=native"
28     - CONF_OPTIONS="--enable-assertions"
29   - os: osx
30     env:
31     - CFLAGS_EXTRA="-O3 -march=native"
32     - CONF_OPTIONS="--enable-assertions"
33   - os: linux
34     compiler: clang
35     env:
36     - CFLAGS_EXTRA="-march=native -std=c11"
37   - os: linux
38     compiler: gcc
39     env:
40     - CFLAGS_EXTRA="-march=native -D _FORTIFY_SOURCE=2 -std=c89"
41   - os: linux
42     addons:
43       apt:
44         packages:
45         - gcc-multilib
46     compiler: clang
47     env:
48     - CFLAGS_EXTRA="-m32 -march=native"
49     - CONF_OPTIONS="--enable-assertions"
50   - os: linux
51     addons:
52       apt:
53         packages:
54         - gcc-multilib
55     compiler: gcc
56     env:
57     - CFLAGS_EXTRA="-m32 -march=native"
58     - CONF_OPTIONS="--enable-assertions"
59   - os: osx
60     env:
61     - CFLAGS_EXTRA="-m32 -march=native -D _FORTIFY_SOURCE=2"
62     - CONF_OPTIONS="--enable-assertions"
63   - os: linux
64     compiler: gcc
65     env:
66     - CFLAGS_EXTRA="-D AO_GENERALIZE_ASM_BOOL_CAS -D AO_USE_NANOSLEEP -D AO_USE_NO_SIGNALS"
67     - CONF_OPTIONS="--enable-assertions"
68   - os: linux
69     compiler: clang
70     env:
71     - CFLAGS_EXTRA="-D AO_USE_PTHREAD_DEFS"
72     - CONF_OPTIONS="--enable-assertions"
73   - os: linux
74     addons:
75       apt:
76         packages:
77         - gcc-5
78         - gcc-5-multilib
79         sources:
80         - ubuntu-toolchain-r-test
81     compiler: gcc-5
82     env:
83     - CFLAGS_EXTRA="-mx32 -march=native -D _FORTIFY_SOURCE=2"
84     - CONF_OPTIONS="--enable-assertions --enable-shared"
85   - os: linux
86     addons:
87       apt:
88         packages:
89         - musl-tools
90     compiler: musl-gcc
91     env:
92     - CFLAGS_EXTRA="-march=native"
93     - CONF_OPTIONS="--enable-assertions"
94   - os: linux
95     addons:
96       apt:
97         packages:
98         - gcc-mingw-w64
99     compiler: x86_64-w64-mingw32-gcc
100     env:
101     - CONF_OPTIONS="--host=x86_64-w64-mingw32 --enable-shared"
102     - MAKEFILE_TARGET=all
103   - os: linux
104     addons:
105       apt:
106         packages:
107         - gcc-mingw-w64
108     compiler: i686-w64-mingw32-gcc
109     env:
110     - CONF_OPTIONS="--host=i686-w64-mingw32"
111     - MAKEFILE_TARGET=all
112
113 before_install:
114 - if [[ "$AUTOMAKE_VER" != "" || "$LIBTOOL_VER" != "" || "$M4_VER" != "" ]]; then
115     GNUTOOLS_ROOT=`pwd`/../gnu-tools;
116     export PATH=$GNUTOOLS_ROOT/bin:$PATH;
117     GNU_DOWNLOAD_SITE=https://ftp.gnu.org/gnu;
118   fi
119 - if [[ "$M4_VER" != "" ]]; then
120     M4_XZ_URL=$GNU_DOWNLOAD_SITE/m4/m4-$M4_VER.tar.xz;
121     wget -O - $M4_XZ_URL | tar xf - --xz --directory ~;
122     (cd ~/m4-$M4_VER && ./configure --prefix=$GNUTOOLS_ROOT && make -j check && make install);
123   fi
124 - if [[ "$LIBTOOL_VER" != "" ]]; then
125     LIBTOOL_XZ_URL=$GNU_DOWNLOAD_SITE/libtool/libtool-$LIBTOOL_VER.tar.xz;
126     wget -O - $LIBTOOL_XZ_URL | tar xf - --xz --directory ~;
127     (cd ~/libtool-$LIBTOOL_VER && ./configure --prefix=$GNUTOOLS_ROOT && make -j && make install);
128   fi
129 - if [[ "$AUTOMAKE_VER" != "" ]]; then
130     AUTOMAKE_XZ_URL=$GNU_DOWNLOAD_SITE/automake/automake-$AUTOMAKE_VER.tar.xz;
131     wget -O - $AUTOMAKE_XZ_URL | tar xf - --xz --directory ~;
132     (cd ~/automake-$AUTOMAKE_VER && ./configure --prefix=$GNUTOOLS_ROOT && make -j && make install);
133   fi
134 - if [[ "$MAKEFILE_TARGET" == "dist"* ]]; then
135     autoconf --version;
136     automake --version;
137     m4 --version;
138     libtool --version || true;
139   fi
140 - if [[ "$MAKEFILE_TARGET" == "" ]]; then MAKEFILE_TARGET=check; fi
141
142 install:
143 - "./autogen.sh"
144
145 script:
146 - ./configure $CONF_OPTIONS
147 - cat src/config.h
148 - make -j $MAKEFILE_TARGET CFLAGS_EXTRA="$CFLAGS_EXTRA"
149 - if [ -f tests/test_atomic.log ]; then cat tests/test_atomic*.log; fi
150
151 deploy:
152   provider: releases
153   api_key:
154     secure: wDAkRwV0lFrzLqdMhrnzD+fVZDODB32q2riJKXKZ3eC70VdliJzX59G60iJqIdN6YSSGGjpDTcaKTmim/T1zgAW+UIcXvpveX3jtocmsJJemZyFKAT++hHbeakNr4Mhgs0ddv3+JsgX375KOmL+ZkUzW0+5uIf9CXK80kE5v6E6p5LC6+Jg8Tqj2uSmUDfrYCFdIDQ901vAjxdPbFsFL8STy0ahBhUCrTThi9emAMR2vBwxf+0We58la936hMFmXs320ZtYN4fksuxNMgQu/3HL/UZIINT2IXgstWiNoU3yK6Z5IvOKWw0iPLMg7SS6L4WYJTu4Z26YnIlJ8XM3f7hO+c+jdffup59O1oklCl6JwlbqNFWtZhfJ+TW8fX8rpsvZIovBI4oOsZthpMNcvb3ZZ6UczUbhaInCvcYl5aTw/8K63Vh2HhKTFdMYMLn1X+qNIfXyKRL15C8VZOHB3Os14G03FNPlTqFE4IRnU3TyXTKBIwYOXf5Nb7fmOYZ11lHejco3rE0n3MiqIL0QJAAwExozV6Af/aJefyTWqfycgaGEfUzBQQpcMVlrDJg1I+LU7vExYYYYYoVPCKHn3CDsmdftUpJcPeKMHuasrfp54RBnY+B9s+hJQRtA7C70JbtoJpC+nxfwIzprBkdLudD+mI52zgFmU7JC1UeWDBik=
155   file: libatomic_ops-*.tar.gz
156   file_glob: true
157   skip_cleanup: true
158   on:
159     condition: $MAKEFILE_TARGET = distcheck
160     repo: ivmai/libatomic_ops
161     tags: true