OSDN Git Service

autotools: make symbols hidden by default
[android-x86/external-libdrm.git] / .gitlab-ci.yml
1 .meson-build: &meson-build
2   - meson _build
3       -D amdgpu=true
4       -D cairo-tests=true
5       -D etnaviv=true
6       -D exynos=true
7       -D freedreno=true
8       -D freedreno-kgsl=true
9       -D intel=true
10       -D libkms=true
11       -D man-pages=true
12       -D nouveau=true
13       -D omap=true
14       -D radeon=true
15       -D tegra=true
16       -D udev=true
17       -D valgrind=true
18       -D vc4=true
19       -D vmwgfx=true
20   - ninja -C _build
21   - ninja -C _build test
22
23 .autotools-build: &autotools-build
24   - mkdir _build
25   - cd _build
26   - ../autogen.sh
27       --enable-udev
28       --enable-libkms
29       --enable-intel
30       --enable-radeon
31       --enable-admgpu
32       --enable-nouveau
33       --enable-vmwfgx
34       --enable-omap-experimental-api
35       --enable-exynos-experimental-api
36       --enable-freedreno
37       --enable-freedreno-kgsl
38       --enable-tegra-experimental-api
39       --enable-vc4
40       --enable-etnaviv-experimental-api
41   - make
42   - make check
43
44 latest-meson:
45   stage: build
46   image: base/archlinux:latest
47   before_script:
48     - pacman -Syu --noconfirm --needed
49         base-devel
50         meson
51         libpciaccess
52         libxslt docbook-xsl
53         valgrind
54         libatomic_ops
55         cairo cunit
56   script: *meson-build
57
58 latest-autotools:
59   stage: build
60   image: base/archlinux:latest
61   before_script:
62     - pacman -Syu --noconfirm --needed
63         base-devel
64         libpciaccess
65         libxslt docbook-xsl
66         valgrind
67         libatomic_ops
68         cairo cunit
69         xorg-util-macros
70         git # autogen.sh depends on git
71   script: *autotools-build
72
73 oldest-meson:
74   stage: build
75   image: debian:stable
76   before_script:
77     - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n"
78         'path-exclude=/usr/share/doc/*'
79         'path-exclude=/usr/share/man/*'
80     - printf > /usr/sbin/policy-rc.d "%s\n"
81         '#!/bin/sh'
82         'exit 101'
83     - chmod +x /usr/sbin/policy-rc.d
84     - apt-get update
85     - apt-get -y --no-install-recommends install
86         build-essential
87         pkg-config
88         xsltproc
89         libxslt1-dev docbook-xsl
90         valgrind
91         libatomic-ops-dev
92         libcairo2-dev libcunit1-dev
93         ninja-build
94         python3 python3-pip
95         wget
96     # We need `--no-check-certificate` here because Debian's CA list is
97     # too old to know about LetsEncrypt's CA, so it refuses to connect
98     # to FreeDesktop.org
99     - LIBPCIACCESS_VERSION=libpciaccess-0.10 &&
100       wget --no-check-certificate https://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2 &&
101       tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 &&
102       (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
103     - pip3 install wheel setuptools
104     - pip3 install meson==0.43
105     - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
106     - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
107   script: *meson-build
108
109 oldest-autotools:
110   stage: build
111   image: debian:stable
112   before_script:
113     - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n"
114         'path-exclude=/usr/share/doc/*'
115         'path-exclude=/usr/share/man/*'
116     - printf > /usr/sbin/policy-rc.d "%s\n"
117         '#!/bin/sh'
118         'exit 101'
119     - chmod +x /usr/sbin/policy-rc.d
120     - apt-get update
121     - apt-get -y --no-install-recommends install
122         build-essential
123         automake
124         autoconf
125         libtool
126         pkg-config
127         xsltproc
128         libxslt1-dev docbook-xsl
129         valgrind
130         libatomic-ops-dev
131         libcairo2-dev libcunit1-dev
132         wget
133         xutils-dev
134         git # autogen.sh depends on git
135     # We need `--no-check-certificate` here because Debian's CA list is
136     # too old to know about LetsEncrypt's CA, so it refuses to connect
137     # to FreeDesktop.org
138     - LIBPCIACCESS_VERSION=libpciaccess-0.10 &&
139       wget --no-check-certificate https://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2 &&
140       tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 &&
141       (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
142     - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
143     - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
144   script: *autotools-build