File builders/dav1d-0b809a9281e0a97441728ad763779e7874209d37/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-0d6a31f275dc73dabf9fd8742a4adaa9ecc13da6/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-188dfc89f21ed00e084e4a519a581df5f2ceb35d/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-345127a79532a679de025b031bdbc264df5f17ea/contrib/x86_64_linux_glibc_gcc.sh deleted (index 98d2bca..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
# STACK OPTIONS ARE MANDATORY... OMFG. |
|
42 |
|
if test "${cc-unset}" = unset; then |
|
43 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
44 |
|
-fvisibility=hidden \ |
|
45 |
|
-mpreferred-stack-boundary=6 -mincoming-stack-boundary=4 \ |
|
46 |
|
-fomit-frame-pointer -ffast-math \ |
|
47 |
|
-idirafter /nyan/glibc/current/include \ |
|
48 |
|
-idirafter /nyan/linux-headers/current/include" |
|
49 |
|
fi |
|
50 |
|
#=============================================================================== |
|
51 |
|
|
|
52 |
|
|
|
53 |
|
#=============================================================================== |
|
54 |
|
if test "${nasm-unset}" = unset; then |
|
55 |
|
nasm="nasm" |
|
56 |
|
fi |
|
57 |
|
#=============================================================================== |
|
58 |
|
|
|
59 |
|
|
|
60 |
|
#=============================================================================== |
|
61 |
|
if test "${ar-unset}" = unset; then |
|
62 |
|
ar='ar rcs' |
|
63 |
|
fi |
|
64 |
|
#=============================================================================== |
|
65 |
|
|
|
66 |
|
#=============================================================================== |
|
67 |
|
if test "${git_version-unset}" = unset; then |
|
68 |
|
git_version="tamereenshort" |
|
69 |
|
fi |
|
70 |
|
#=============================================================================== |
|
71 |
|
|
|
72 |
|
|
|
73 |
|
#=============================================================================== |
|
74 |
|
# should be in sync with the code |
|
75 |
|
version_major=6 |
|
76 |
|
version_minor=6 |
|
77 |
|
version_patch=0 |
|
78 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
79 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
80 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
81 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
82 |
|
#------------------------------------------------------------------------------ |
|
83 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
84 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
85 |
|
#=============================================================================== |
|
86 |
|
|
|
87 |
|
|
|
88 |
|
#=============================================================================== |
|
89 |
|
touch $build_dir/config.h |
|
90 |
|
touch $build_dir/config.asm |
|
91 |
|
#=============================================================================== |
|
92 |
|
|
|
93 |
|
|
|
94 |
|
#=============================================================================== |
|
95 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
96 |
|
# paths |
|
97 |
|
|
|
98 |
|
dav1d_cppflags="\ |
|
99 |
|
-DNDEBUG=1 \ |
|
100 |
|
-DHAVE_ASM=1 \ |
|
101 |
|
-DHAVE_AVX512ICL=1 \ |
|
102 |
|
-DCONFIG_8BPC=1 \ |
|
103 |
|
-DCONFIG_16BPC=1 \ |
|
104 |
|
-DARCH_X86=1 \ |
|
105 |
|
-DARCH_X86_64=1 \ |
|
106 |
|
-DPIC=1 \ |
|
107 |
|
-DSTACK_ALIGNMENT=32 \ |
|
108 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
109 |
|
\ |
|
110 |
|
-I$build_dir/ \ |
|
111 |
|
-I$src_dir/src/ \ |
|
112 |
|
-I$src_dir/ \ |
|
113 |
|
-I$src_dir/include/compat/gcc/ \ |
|
114 |
|
-I$src_dir/include/dav1d/ \ |
|
115 |
|
-I$src_dir/include/ \ |
|
116 |
|
" |
|
117 |
|
|
|
118 |
|
glibc_cppflags="\ |
|
119 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
120 |
|
-DHAVE_DLSYM=1 \ |
|
121 |
|
-D_GNU_SOURCE=1 \ |
|
122 |
|
" |
|
123 |
|
|
|
124 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
125 |
|
src/cdf.c \ |
|
126 |
|
src/cpu.c \ |
|
127 |
|
src/data.c \ |
|
128 |
|
src/decode.c \ |
|
129 |
|
src/dequant_tables.c \ |
|
130 |
|
src/getbits.c \ |
|
131 |
|
src/intra_edge.c \ |
|
132 |
|
src/itx_1d.c \ |
|
133 |
|
src/lf_mask.c \ |
|
134 |
|
src/log.c \ |
|
135 |
|
src/mem.c \ |
|
136 |
|
src/msac.c \ |
|
137 |
|
src/obu.c \ |
|
138 |
|
src/picture.c \ |
|
139 |
|
src/qm.c \ |
|
140 |
|
src/ref.c \ |
|
141 |
|
src/refmvs.c \ |
|
142 |
|
src/scan.c \ |
|
143 |
|
src/tables.c \ |
|
144 |
|
src/warpmv.c \ |
|
145 |
|
src/wedge.c \ |
|
146 |
|
" |
|
147 |
|
|
|
148 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
149 |
|
src/x86/cpu.c \ |
|
150 |
|
" |
|
151 |
|
|
|
152 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
153 |
|
src/cdef_apply_tmpl.c \ |
|
154 |
|
src/cdef_tmpl.c \ |
|
155 |
|
src/fg_apply_tmpl.c \ |
|
156 |
|
src/filmgrain_tmpl.c \ |
|
157 |
|
src/ipred_prepare_tmpl.c \ |
|
158 |
|
src/ipred_tmpl.c \ |
|
159 |
|
src/itx_tmpl.c \ |
|
160 |
|
src/lf_apply_tmpl.c \ |
|
161 |
|
src/loopfilter_tmpl.c \ |
|
162 |
|
src/looprestoration_tmpl.c \ |
|
163 |
|
src/lr_apply_tmpl.c \ |
|
164 |
|
src/mc_tmpl.c \ |
|
165 |
|
src/recon_tmpl.c \ |
|
166 |
|
" |
|
167 |
|
|
|
168 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
169 |
|
src/x86/cpuid.asm \ |
|
170 |
|
src/x86/msac.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/loopfilter16_avx512.asm \ |
|
205 |
|
src/x86/looprestoration16_avx512.asm \ |
|
206 |
|
src/x86/mc16_avx512.asm \ |
|
207 |
|
\ |
|
208 |
|
src/x86/cdef16_avx2.asm \ |
|
209 |
|
src/x86/filmgrain16_avx2.asm \ |
|
210 |
|
src/x86/ipred16_avx2.asm \ |
|
211 |
|
src/x86/itx16_avx2.asm \ |
|
212 |
|
src/x86/loopfilter16_avx2.asm \ |
|
213 |
|
src/x86/looprestoration16_avx2.asm \ |
|
214 |
|
src/x86/mc16_avx2.asm \ |
|
215 |
|
\ |
|
216 |
|
src/x86/cdef16_sse.asm \ |
|
217 |
|
src/x86/filmgrain16_sse.asm \ |
|
218 |
|
src/x86/ipred16_sse.asm \ |
|
219 |
|
src/x86/itx16_sse.asm \ |
|
220 |
|
src/x86/loopfilter16_sse.asm \ |
|
221 |
|
src/x86/looprestoration16_sse.asm \ |
|
222 |
|
src/x86/mc16_sse.asm \ |
|
223 |
|
" |
|
224 |
|
|
|
225 |
|
libdav1d_entrypoints_c_files="\ |
|
226 |
|
src/lib.c \ |
|
227 |
|
src/thread_task.c \ |
|
228 |
|
" |
|
229 |
|
#=============================================================================== |
|
230 |
|
|
|
231 |
|
|
|
232 |
|
#=============================================================================== |
|
233 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
234 |
|
do |
|
235 |
|
mkdir -p $build_dir/$(dirname $f) |
|
236 |
|
libdav1d_obj=$build_dir/$f.o |
|
237 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
238 |
|
|
|
239 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
240 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
241 |
|
done |
|
242 |
|
|
|
243 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
244 |
|
do |
|
245 |
|
mkdir -p $build_dir/$(dirname $f) |
|
246 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
247 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
248 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
249 |
|
|
|
250 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
251 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
252 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
253 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
254 |
|
done |
|
255 |
|
|
|
256 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
257 |
|
do |
|
258 |
|
mkdir -p $build_dir/$(dirname $f) |
|
259 |
|
libdav1d_obj=$build_dir/$f.o |
|
260 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
261 |
|
|
|
262 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
263 |
|
$nasm -f elf64 \ |
|
264 |
|
-o $libdav1d_obj \ |
|
265 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
266 |
|
-Dprivate_prefix=dav1d \ |
|
267 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
268 |
|
done |
|
269 |
|
#=============================================================================== |
|
270 |
|
|
|
271 |
|
|
|
272 |
|
#=============================================================================== |
|
273 |
|
wait |
|
274 |
|
|
|
275 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
276 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
277 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
278 |
|
-shared -static-libgcc \ |
|
279 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
280 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
281 |
|
$libdav1d_objs \ |
|
282 |
|
-Wl,--as-needed \ |
|
283 |
|
-lpthread \ |
|
284 |
|
-lm \ |
|
285 |
|
-ldl \ |
|
286 |
|
-Wl,--no-as-needed" |
|
287 |
|
fi |
|
288 |
|
printf 'CCLD\n' |
|
289 |
|
eval $slib_link_cmd |
|
File builders/dav1d-3f282b54fa305e3ae22490b02dd7aa91f88f59ce/contrib/x86_64_linux_glibc_gcc.sh deleted (index 6c9ad8d..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
# STACK OPTIONS ARE MANDATORY... OMFG. |
|
42 |
|
if test "${cc-unset}" = unset; then |
|
43 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
44 |
|
-fvisibility=hidden \ |
|
45 |
|
-mpreferred-stack-boundary=6 -mincoming-stack-boundary=4 \ |
|
46 |
|
-fomit-frame-pointer -ffast-math \ |
|
47 |
|
-idirafter /nyan/glibc/current/include \ |
|
48 |
|
-idirafter /nyan/linux-headers/current/include" |
|
49 |
|
fi |
|
50 |
|
#=============================================================================== |
|
51 |
|
|
|
52 |
|
|
|
53 |
|
#=============================================================================== |
|
54 |
|
if test "${nasm-unset}" = unset; then |
|
55 |
|
nasm="nasm" |
|
56 |
|
fi |
|
57 |
|
#=============================================================================== |
|
58 |
|
|
|
59 |
|
|
|
60 |
|
#=============================================================================== |
|
61 |
|
if test "${ar-unset}" = unset; then |
|
62 |
|
ar='ar rcs' |
|
63 |
|
fi |
|
64 |
|
#=============================================================================== |
|
65 |
|
|
|
66 |
|
#=============================================================================== |
|
67 |
|
if test "${git_version-unset}" = unset; then |
|
68 |
|
git_version="tamereenshort" |
|
69 |
|
fi |
|
70 |
|
#=============================================================================== |
|
71 |
|
|
|
72 |
|
|
|
73 |
|
#=============================================================================== |
|
74 |
|
# should be in sync with the code |
|
75 |
|
version_major=6 |
|
76 |
|
version_minor=6 |
|
77 |
|
version_patch=0 |
|
78 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
79 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
80 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
81 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
82 |
|
#------------------------------------------------------------------------------ |
|
83 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
84 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
85 |
|
#=============================================================================== |
|
86 |
|
|
|
87 |
|
|
|
88 |
|
#=============================================================================== |
|
89 |
|
touch $build_dir/config.h |
|
90 |
|
touch $build_dir/config.asm |
|
91 |
|
#=============================================================================== |
|
92 |
|
|
|
93 |
|
|
|
94 |
|
#=============================================================================== |
|
95 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
96 |
|
# paths |
|
97 |
|
|
|
98 |
|
dav1d_cppflags="\ |
|
99 |
|
-DNDEBUG=1 \ |
|
100 |
|
-DHAVE_ASM=1 \ |
|
101 |
|
-DHAVE_AVX512ICL=1 \ |
|
102 |
|
-DCONFIG_8BPC=1 \ |
|
103 |
|
-DCONFIG_16BPC=1 \ |
|
104 |
|
-DARCH_X86=1 \ |
|
105 |
|
-DARCH_X86_64=1 \ |
|
106 |
|
-DPIC=1 \ |
|
107 |
|
-DSTACK_ALIGNMENT=32 \ |
|
108 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
109 |
|
\ |
|
110 |
|
-I$build_dir/ \ |
|
111 |
|
-I$src_dir/src/ \ |
|
112 |
|
-I$src_dir/ \ |
|
113 |
|
-I$src_dir/include/compat/gcc/ \ |
|
114 |
|
-I$src_dir/include/dav1d/ \ |
|
115 |
|
-I$src_dir/include/ \ |
|
116 |
|
" |
|
117 |
|
|
|
118 |
|
glibc_cppflags="\ |
|
119 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
120 |
|
-DHAVE_DLSYM=1 \ |
|
121 |
|
-D_GNU_SOURCE=1 \ |
|
122 |
|
" |
|
123 |
|
|
|
124 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
125 |
|
src/cdf.c \ |
|
126 |
|
src/cpu.c \ |
|
127 |
|
src/data.c \ |
|
128 |
|
src/decode.c \ |
|
129 |
|
src/dequant_tables.c \ |
|
130 |
|
src/getbits.c \ |
|
131 |
|
src/intra_edge.c \ |
|
132 |
|
src/itx_1d.c \ |
|
133 |
|
src/lf_mask.c \ |
|
134 |
|
src/log.c \ |
|
135 |
|
src/mem.c \ |
|
136 |
|
src/msac.c \ |
|
137 |
|
src/obu.c \ |
|
138 |
|
src/picture.c \ |
|
139 |
|
src/qm.c \ |
|
140 |
|
src/ref.c \ |
|
141 |
|
src/refmvs.c \ |
|
142 |
|
src/scan.c \ |
|
143 |
|
src/tables.c \ |
|
144 |
|
src/warpmv.c \ |
|
145 |
|
src/wedge.c \ |
|
146 |
|
" |
|
147 |
|
|
|
148 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
149 |
|
src/x86/cpu.c \ |
|
150 |
|
" |
|
151 |
|
|
|
152 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
153 |
|
src/cdef_apply_tmpl.c \ |
|
154 |
|
src/cdef_tmpl.c \ |
|
155 |
|
src/fg_apply_tmpl.c \ |
|
156 |
|
src/filmgrain_tmpl.c \ |
|
157 |
|
src/ipred_prepare_tmpl.c \ |
|
158 |
|
src/ipred_tmpl.c \ |
|
159 |
|
src/itx_tmpl.c \ |
|
160 |
|
src/lf_apply_tmpl.c \ |
|
161 |
|
src/loopfilter_tmpl.c \ |
|
162 |
|
src/looprestoration_tmpl.c \ |
|
163 |
|
src/lr_apply_tmpl.c \ |
|
164 |
|
src/mc_tmpl.c \ |
|
165 |
|
src/recon_tmpl.c \ |
|
166 |
|
" |
|
167 |
|
|
|
168 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
169 |
|
src/x86/cpuid.asm \ |
|
170 |
|
src/x86/msac.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-47107e384bd1dc25674acf04d000a8cdc6195234/contrib/x86_64_linux_glibc_gcc.sh deleted (index fcdbb7e..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/pal.c \ |
|
137 |
|
src/picture.c \ |
|
138 |
|
src/qm.c \ |
|
139 |
|
src/ref.c \ |
|
140 |
|
src/refmvs.c \ |
|
141 |
|
src/scan.c \ |
|
142 |
|
src/tables.c \ |
|
143 |
|
src/warpmv.c \ |
|
144 |
|
src/wedge.c \ |
|
145 |
|
" |
|
146 |
|
|
|
147 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
148 |
|
src/x86/cpu.c \ |
|
149 |
|
" |
|
150 |
|
|
|
151 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
152 |
|
src/cdef_apply_tmpl.c \ |
|
153 |
|
src/cdef_tmpl.c \ |
|
154 |
|
src/fg_apply_tmpl.c \ |
|
155 |
|
src/filmgrain_tmpl.c \ |
|
156 |
|
src/ipred_prepare_tmpl.c \ |
|
157 |
|
src/ipred_tmpl.c \ |
|
158 |
|
src/itx_tmpl.c \ |
|
159 |
|
src/lf_apply_tmpl.c \ |
|
160 |
|
src/loopfilter_tmpl.c \ |
|
161 |
|
src/looprestoration_tmpl.c \ |
|
162 |
|
src/lr_apply_tmpl.c \ |
|
163 |
|
src/mc_tmpl.c \ |
|
164 |
|
src/recon_tmpl.c \ |
|
165 |
|
" |
|
166 |
|
|
|
167 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
168 |
|
src/x86/cpuid.asm \ |
|
169 |
|
src/x86/msac.asm \ |
|
170 |
|
src/x86/pal.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-616bfd1506a8a75c6a358e578cbec9ca11931502/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-6afabf8274d64d621accf4de59e429f05ff52180/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-8a104cf5558716156e5ad371fd0176679d8038b1/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-8a8fe0594c09e3262b971b95c82b4d6dd1ac541c/contrib/x86_64_linux_glibc_gcc.sh deleted (index 98d2bca..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
# STACK OPTIONS ARE MANDATORY... OMFG. |
|
42 |
|
if test "${cc-unset}" = unset; then |
|
43 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
44 |
|
-fvisibility=hidden \ |
|
45 |
|
-mpreferred-stack-boundary=6 -mincoming-stack-boundary=4 \ |
|
46 |
|
-fomit-frame-pointer -ffast-math \ |
|
47 |
|
-idirafter /nyan/glibc/current/include \ |
|
48 |
|
-idirafter /nyan/linux-headers/current/include" |
|
49 |
|
fi |
|
50 |
|
#=============================================================================== |
|
51 |
|
|
|
52 |
|
|
|
53 |
|
#=============================================================================== |
|
54 |
|
if test "${nasm-unset}" = unset; then |
|
55 |
|
nasm="nasm" |
|
56 |
|
fi |
|
57 |
|
#=============================================================================== |
|
58 |
|
|
|
59 |
|
|
|
60 |
|
#=============================================================================== |
|
61 |
|
if test "${ar-unset}" = unset; then |
|
62 |
|
ar='ar rcs' |
|
63 |
|
fi |
|
64 |
|
#=============================================================================== |
|
65 |
|
|
|
66 |
|
#=============================================================================== |
|
67 |
|
if test "${git_version-unset}" = unset; then |
|
68 |
|
git_version="tamereenshort" |
|
69 |
|
fi |
|
70 |
|
#=============================================================================== |
|
71 |
|
|
|
72 |
|
|
|
73 |
|
#=============================================================================== |
|
74 |
|
# should be in sync with the code |
|
75 |
|
version_major=6 |
|
76 |
|
version_minor=6 |
|
77 |
|
version_patch=0 |
|
78 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
79 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
80 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
81 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
82 |
|
#------------------------------------------------------------------------------ |
|
83 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
84 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
85 |
|
#=============================================================================== |
|
86 |
|
|
|
87 |
|
|
|
88 |
|
#=============================================================================== |
|
89 |
|
touch $build_dir/config.h |
|
90 |
|
touch $build_dir/config.asm |
|
91 |
|
#=============================================================================== |
|
92 |
|
|
|
93 |
|
|
|
94 |
|
#=============================================================================== |
|
95 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
96 |
|
# paths |
|
97 |
|
|
|
98 |
|
dav1d_cppflags="\ |
|
99 |
|
-DNDEBUG=1 \ |
|
100 |
|
-DHAVE_ASM=1 \ |
|
101 |
|
-DHAVE_AVX512ICL=1 \ |
|
102 |
|
-DCONFIG_8BPC=1 \ |
|
103 |
|
-DCONFIG_16BPC=1 \ |
|
104 |
|
-DARCH_X86=1 \ |
|
105 |
|
-DARCH_X86_64=1 \ |
|
106 |
|
-DPIC=1 \ |
|
107 |
|
-DSTACK_ALIGNMENT=32 \ |
|
108 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
109 |
|
\ |
|
110 |
|
-I$build_dir/ \ |
|
111 |
|
-I$src_dir/src/ \ |
|
112 |
|
-I$src_dir/ \ |
|
113 |
|
-I$src_dir/include/compat/gcc/ \ |
|
114 |
|
-I$src_dir/include/dav1d/ \ |
|
115 |
|
-I$src_dir/include/ \ |
|
116 |
|
" |
|
117 |
|
|
|
118 |
|
glibc_cppflags="\ |
|
119 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
120 |
|
-DHAVE_DLSYM=1 \ |
|
121 |
|
-D_GNU_SOURCE=1 \ |
|
122 |
|
" |
|
123 |
|
|
|
124 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
125 |
|
src/cdf.c \ |
|
126 |
|
src/cpu.c \ |
|
127 |
|
src/data.c \ |
|
128 |
|
src/decode.c \ |
|
129 |
|
src/dequant_tables.c \ |
|
130 |
|
src/getbits.c \ |
|
131 |
|
src/intra_edge.c \ |
|
132 |
|
src/itx_1d.c \ |
|
133 |
|
src/lf_mask.c \ |
|
134 |
|
src/log.c \ |
|
135 |
|
src/mem.c \ |
|
136 |
|
src/msac.c \ |
|
137 |
|
src/obu.c \ |
|
138 |
|
src/picture.c \ |
|
139 |
|
src/qm.c \ |
|
140 |
|
src/ref.c \ |
|
141 |
|
src/refmvs.c \ |
|
142 |
|
src/scan.c \ |
|
143 |
|
src/tables.c \ |
|
144 |
|
src/warpmv.c \ |
|
145 |
|
src/wedge.c \ |
|
146 |
|
" |
|
147 |
|
|
|
148 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
149 |
|
src/x86/cpu.c \ |
|
150 |
|
" |
|
151 |
|
|
|
152 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
153 |
|
src/cdef_apply_tmpl.c \ |
|
154 |
|
src/cdef_tmpl.c \ |
|
155 |
|
src/fg_apply_tmpl.c \ |
|
156 |
|
src/filmgrain_tmpl.c \ |
|
157 |
|
src/ipred_prepare_tmpl.c \ |
|
158 |
|
src/ipred_tmpl.c \ |
|
159 |
|
src/itx_tmpl.c \ |
|
160 |
|
src/lf_apply_tmpl.c \ |
|
161 |
|
src/loopfilter_tmpl.c \ |
|
162 |
|
src/looprestoration_tmpl.c \ |
|
163 |
|
src/lr_apply_tmpl.c \ |
|
164 |
|
src/mc_tmpl.c \ |
|
165 |
|
src/recon_tmpl.c \ |
|
166 |
|
" |
|
167 |
|
|
|
168 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
169 |
|
src/x86/cpuid.asm \ |
|
170 |
|
src/x86/msac.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/loopfilter16_avx512.asm \ |
|
205 |
|
src/x86/looprestoration16_avx512.asm \ |
|
206 |
|
src/x86/mc16_avx512.asm \ |
|
207 |
|
\ |
|
208 |
|
src/x86/cdef16_avx2.asm \ |
|
209 |
|
src/x86/filmgrain16_avx2.asm \ |
|
210 |
|
src/x86/ipred16_avx2.asm \ |
|
211 |
|
src/x86/itx16_avx2.asm \ |
|
212 |
|
src/x86/loopfilter16_avx2.asm \ |
|
213 |
|
src/x86/looprestoration16_avx2.asm \ |
|
214 |
|
src/x86/mc16_avx2.asm \ |
|
215 |
|
\ |
|
216 |
|
src/x86/cdef16_sse.asm \ |
|
217 |
|
src/x86/filmgrain16_sse.asm \ |
|
218 |
|
src/x86/ipred16_sse.asm \ |
|
219 |
|
src/x86/itx16_sse.asm \ |
|
220 |
|
src/x86/loopfilter16_sse.asm \ |
|
221 |
|
src/x86/looprestoration16_sse.asm \ |
|
222 |
|
src/x86/mc16_sse.asm \ |
|
223 |
|
" |
|
224 |
|
|
|
225 |
|
libdav1d_entrypoints_c_files="\ |
|
226 |
|
src/lib.c \ |
|
227 |
|
src/thread_task.c \ |
|
228 |
|
" |
|
229 |
|
#=============================================================================== |
|
230 |
|
|
|
231 |
|
|
|
232 |
|
#=============================================================================== |
|
233 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
234 |
|
do |
|
235 |
|
mkdir -p $build_dir/$(dirname $f) |
|
236 |
|
libdav1d_obj=$build_dir/$f.o |
|
237 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
238 |
|
|
|
239 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
240 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
241 |
|
done |
|
242 |
|
|
|
243 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
244 |
|
do |
|
245 |
|
mkdir -p $build_dir/$(dirname $f) |
|
246 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
247 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
248 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
249 |
|
|
|
250 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
251 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
252 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
253 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
254 |
|
done |
|
255 |
|
|
|
256 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
257 |
|
do |
|
258 |
|
mkdir -p $build_dir/$(dirname $f) |
|
259 |
|
libdav1d_obj=$build_dir/$f.o |
|
260 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
261 |
|
|
|
262 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
263 |
|
$nasm -f elf64 \ |
|
264 |
|
-o $libdav1d_obj \ |
|
265 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
266 |
|
-Dprivate_prefix=dav1d \ |
|
267 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
268 |
|
done |
|
269 |
|
#=============================================================================== |
|
270 |
|
|
|
271 |
|
|
|
272 |
|
#=============================================================================== |
|
273 |
|
wait |
|
274 |
|
|
|
275 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
276 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
277 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
278 |
|
-shared -static-libgcc \ |
|
279 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
280 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
281 |
|
$libdav1d_objs \ |
|
282 |
|
-Wl,--as-needed \ |
|
283 |
|
-lpthread \ |
|
284 |
|
-lm \ |
|
285 |
|
-ldl \ |
|
286 |
|
-Wl,--no-as-needed" |
|
287 |
|
fi |
|
288 |
|
printf 'CCLD\n' |
|
289 |
|
eval $slib_link_cmd |
|
File builders/dav1d-8af8244a3acd3e7085fe9d7c3d96b8d45e86f6dd/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-8b419c16bf1e37bc98044089da58f06824462cb9/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-8c731791c7133c7954f2d7a18d9fbbba2412a302/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-922bd82b4e0b4df1e23d8d4325417be812dfa23a/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-97becd73726c3d4c4bb8793d2215f846da8795af/contrib/x86_64_linux_glibc_gcc.sh deleted (index fcdbb7e..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/pal.c \ |
|
137 |
|
src/picture.c \ |
|
138 |
|
src/qm.c \ |
|
139 |
|
src/ref.c \ |
|
140 |
|
src/refmvs.c \ |
|
141 |
|
src/scan.c \ |
|
142 |
|
src/tables.c \ |
|
143 |
|
src/warpmv.c \ |
|
144 |
|
src/wedge.c \ |
|
145 |
|
" |
|
146 |
|
|
|
147 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
148 |
|
src/x86/cpu.c \ |
|
149 |
|
" |
|
150 |
|
|
|
151 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
152 |
|
src/cdef_apply_tmpl.c \ |
|
153 |
|
src/cdef_tmpl.c \ |
|
154 |
|
src/fg_apply_tmpl.c \ |
|
155 |
|
src/filmgrain_tmpl.c \ |
|
156 |
|
src/ipred_prepare_tmpl.c \ |
|
157 |
|
src/ipred_tmpl.c \ |
|
158 |
|
src/itx_tmpl.c \ |
|
159 |
|
src/lf_apply_tmpl.c \ |
|
160 |
|
src/loopfilter_tmpl.c \ |
|
161 |
|
src/looprestoration_tmpl.c \ |
|
162 |
|
src/lr_apply_tmpl.c \ |
|
163 |
|
src/mc_tmpl.c \ |
|
164 |
|
src/recon_tmpl.c \ |
|
165 |
|
" |
|
166 |
|
|
|
167 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
168 |
|
src/x86/cpuid.asm \ |
|
169 |
|
src/x86/msac.asm \ |
|
170 |
|
src/x86/pal.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-98b0c96d2143e9264e3399a08dfdb0faa44796bf/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-9b4b2448106f863bfa4789ba6e86555ad57c838f/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-9cf6c84c69daca88bf7f897c7fce6e1d2aba89d8/contrib/x86_64_linux_glibc_gcc.sh deleted (index 6c9ad8d..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
# STACK OPTIONS ARE MANDATORY... OMFG. |
|
42 |
|
if test "${cc-unset}" = unset; then |
|
43 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
44 |
|
-fvisibility=hidden \ |
|
45 |
|
-mpreferred-stack-boundary=6 -mincoming-stack-boundary=4 \ |
|
46 |
|
-fomit-frame-pointer -ffast-math \ |
|
47 |
|
-idirafter /nyan/glibc/current/include \ |
|
48 |
|
-idirafter /nyan/linux-headers/current/include" |
|
49 |
|
fi |
|
50 |
|
#=============================================================================== |
|
51 |
|
|
|
52 |
|
|
|
53 |
|
#=============================================================================== |
|
54 |
|
if test "${nasm-unset}" = unset; then |
|
55 |
|
nasm="nasm" |
|
56 |
|
fi |
|
57 |
|
#=============================================================================== |
|
58 |
|
|
|
59 |
|
|
|
60 |
|
#=============================================================================== |
|
61 |
|
if test "${ar-unset}" = unset; then |
|
62 |
|
ar='ar rcs' |
|
63 |
|
fi |
|
64 |
|
#=============================================================================== |
|
65 |
|
|
|
66 |
|
#=============================================================================== |
|
67 |
|
if test "${git_version-unset}" = unset; then |
|
68 |
|
git_version="tamereenshort" |
|
69 |
|
fi |
|
70 |
|
#=============================================================================== |
|
71 |
|
|
|
72 |
|
|
|
73 |
|
#=============================================================================== |
|
74 |
|
# should be in sync with the code |
|
75 |
|
version_major=6 |
|
76 |
|
version_minor=6 |
|
77 |
|
version_patch=0 |
|
78 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
79 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
80 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
81 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
82 |
|
#------------------------------------------------------------------------------ |
|
83 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
84 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
85 |
|
#=============================================================================== |
|
86 |
|
|
|
87 |
|
|
|
88 |
|
#=============================================================================== |
|
89 |
|
touch $build_dir/config.h |
|
90 |
|
touch $build_dir/config.asm |
|
91 |
|
#=============================================================================== |
|
92 |
|
|
|
93 |
|
|
|
94 |
|
#=============================================================================== |
|
95 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
96 |
|
# paths |
|
97 |
|
|
|
98 |
|
dav1d_cppflags="\ |
|
99 |
|
-DNDEBUG=1 \ |
|
100 |
|
-DHAVE_ASM=1 \ |
|
101 |
|
-DHAVE_AVX512ICL=1 \ |
|
102 |
|
-DCONFIG_8BPC=1 \ |
|
103 |
|
-DCONFIG_16BPC=1 \ |
|
104 |
|
-DARCH_X86=1 \ |
|
105 |
|
-DARCH_X86_64=1 \ |
|
106 |
|
-DPIC=1 \ |
|
107 |
|
-DSTACK_ALIGNMENT=32 \ |
|
108 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
109 |
|
\ |
|
110 |
|
-I$build_dir/ \ |
|
111 |
|
-I$src_dir/src/ \ |
|
112 |
|
-I$src_dir/ \ |
|
113 |
|
-I$src_dir/include/compat/gcc/ \ |
|
114 |
|
-I$src_dir/include/dav1d/ \ |
|
115 |
|
-I$src_dir/include/ \ |
|
116 |
|
" |
|
117 |
|
|
|
118 |
|
glibc_cppflags="\ |
|
119 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
120 |
|
-DHAVE_DLSYM=1 \ |
|
121 |
|
-D_GNU_SOURCE=1 \ |
|
122 |
|
" |
|
123 |
|
|
|
124 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
125 |
|
src/cdf.c \ |
|
126 |
|
src/cpu.c \ |
|
127 |
|
src/data.c \ |
|
128 |
|
src/decode.c \ |
|
129 |
|
src/dequant_tables.c \ |
|
130 |
|
src/getbits.c \ |
|
131 |
|
src/intra_edge.c \ |
|
132 |
|
src/itx_1d.c \ |
|
133 |
|
src/lf_mask.c \ |
|
134 |
|
src/log.c \ |
|
135 |
|
src/mem.c \ |
|
136 |
|
src/msac.c \ |
|
137 |
|
src/obu.c \ |
|
138 |
|
src/picture.c \ |
|
139 |
|
src/qm.c \ |
|
140 |
|
src/ref.c \ |
|
141 |
|
src/refmvs.c \ |
|
142 |
|
src/scan.c \ |
|
143 |
|
src/tables.c \ |
|
144 |
|
src/warpmv.c \ |
|
145 |
|
src/wedge.c \ |
|
146 |
|
" |
|
147 |
|
|
|
148 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
149 |
|
src/x86/cpu.c \ |
|
150 |
|
" |
|
151 |
|
|
|
152 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
153 |
|
src/cdef_apply_tmpl.c \ |
|
154 |
|
src/cdef_tmpl.c \ |
|
155 |
|
src/fg_apply_tmpl.c \ |
|
156 |
|
src/filmgrain_tmpl.c \ |
|
157 |
|
src/ipred_prepare_tmpl.c \ |
|
158 |
|
src/ipred_tmpl.c \ |
|
159 |
|
src/itx_tmpl.c \ |
|
160 |
|
src/lf_apply_tmpl.c \ |
|
161 |
|
src/loopfilter_tmpl.c \ |
|
162 |
|
src/looprestoration_tmpl.c \ |
|
163 |
|
src/lr_apply_tmpl.c \ |
|
164 |
|
src/mc_tmpl.c \ |
|
165 |
|
src/recon_tmpl.c \ |
|
166 |
|
" |
|
167 |
|
|
|
168 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
169 |
|
src/x86/cpuid.asm \ |
|
170 |
|
src/x86/msac.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-9d64591854764dfb76459f3f0455305155e80e7f/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-a7e12b628472516718d37108fde7d438b14a0372/contrib/x86_64_linux_glibc_gcc.sh deleted (index fcdbb7e..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/pal.c \ |
|
137 |
|
src/picture.c \ |
|
138 |
|
src/qm.c \ |
|
139 |
|
src/ref.c \ |
|
140 |
|
src/refmvs.c \ |
|
141 |
|
src/scan.c \ |
|
142 |
|
src/tables.c \ |
|
143 |
|
src/warpmv.c \ |
|
144 |
|
src/wedge.c \ |
|
145 |
|
" |
|
146 |
|
|
|
147 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
148 |
|
src/x86/cpu.c \ |
|
149 |
|
" |
|
150 |
|
|
|
151 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
152 |
|
src/cdef_apply_tmpl.c \ |
|
153 |
|
src/cdef_tmpl.c \ |
|
154 |
|
src/fg_apply_tmpl.c \ |
|
155 |
|
src/filmgrain_tmpl.c \ |
|
156 |
|
src/ipred_prepare_tmpl.c \ |
|
157 |
|
src/ipred_tmpl.c \ |
|
158 |
|
src/itx_tmpl.c \ |
|
159 |
|
src/lf_apply_tmpl.c \ |
|
160 |
|
src/loopfilter_tmpl.c \ |
|
161 |
|
src/looprestoration_tmpl.c \ |
|
162 |
|
src/lr_apply_tmpl.c \ |
|
163 |
|
src/mc_tmpl.c \ |
|
164 |
|
src/recon_tmpl.c \ |
|
165 |
|
" |
|
166 |
|
|
|
167 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
168 |
|
src/x86/cpuid.asm \ |
|
169 |
|
src/x86/msac.asm \ |
|
170 |
|
src/x86/pal.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-ad0f3e6a4b01355d7fdbb1334e957e3a397d2e1a/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-cac76e4b6641dd26dd87fd749261526ae7469d3e/contrib/x86_64_linux_glibc_gcc.sh deleted (index 6c9ad8d..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
# STACK OPTIONS ARE MANDATORY... OMFG. |
|
42 |
|
if test "${cc-unset}" = unset; then |
|
43 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
44 |
|
-fvisibility=hidden \ |
|
45 |
|
-mpreferred-stack-boundary=6 -mincoming-stack-boundary=4 \ |
|
46 |
|
-fomit-frame-pointer -ffast-math \ |
|
47 |
|
-idirafter /nyan/glibc/current/include \ |
|
48 |
|
-idirafter /nyan/linux-headers/current/include" |
|
49 |
|
fi |
|
50 |
|
#=============================================================================== |
|
51 |
|
|
|
52 |
|
|
|
53 |
|
#=============================================================================== |
|
54 |
|
if test "${nasm-unset}" = unset; then |
|
55 |
|
nasm="nasm" |
|
56 |
|
fi |
|
57 |
|
#=============================================================================== |
|
58 |
|
|
|
59 |
|
|
|
60 |
|
#=============================================================================== |
|
61 |
|
if test "${ar-unset}" = unset; then |
|
62 |
|
ar='ar rcs' |
|
63 |
|
fi |
|
64 |
|
#=============================================================================== |
|
65 |
|
|
|
66 |
|
#=============================================================================== |
|
67 |
|
if test "${git_version-unset}" = unset; then |
|
68 |
|
git_version="tamereenshort" |
|
69 |
|
fi |
|
70 |
|
#=============================================================================== |
|
71 |
|
|
|
72 |
|
|
|
73 |
|
#=============================================================================== |
|
74 |
|
# should be in sync with the code |
|
75 |
|
version_major=6 |
|
76 |
|
version_minor=6 |
|
77 |
|
version_patch=0 |
|
78 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
79 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
80 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
81 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
82 |
|
#------------------------------------------------------------------------------ |
|
83 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
84 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
85 |
|
#=============================================================================== |
|
86 |
|
|
|
87 |
|
|
|
88 |
|
#=============================================================================== |
|
89 |
|
touch $build_dir/config.h |
|
90 |
|
touch $build_dir/config.asm |
|
91 |
|
#=============================================================================== |
|
92 |
|
|
|
93 |
|
|
|
94 |
|
#=============================================================================== |
|
95 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
96 |
|
# paths |
|
97 |
|
|
|
98 |
|
dav1d_cppflags="\ |
|
99 |
|
-DNDEBUG=1 \ |
|
100 |
|
-DHAVE_ASM=1 \ |
|
101 |
|
-DHAVE_AVX512ICL=1 \ |
|
102 |
|
-DCONFIG_8BPC=1 \ |
|
103 |
|
-DCONFIG_16BPC=1 \ |
|
104 |
|
-DARCH_X86=1 \ |
|
105 |
|
-DARCH_X86_64=1 \ |
|
106 |
|
-DPIC=1 \ |
|
107 |
|
-DSTACK_ALIGNMENT=32 \ |
|
108 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
109 |
|
\ |
|
110 |
|
-I$build_dir/ \ |
|
111 |
|
-I$src_dir/src/ \ |
|
112 |
|
-I$src_dir/ \ |
|
113 |
|
-I$src_dir/include/compat/gcc/ \ |
|
114 |
|
-I$src_dir/include/dav1d/ \ |
|
115 |
|
-I$src_dir/include/ \ |
|
116 |
|
" |
|
117 |
|
|
|
118 |
|
glibc_cppflags="\ |
|
119 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
120 |
|
-DHAVE_DLSYM=1 \ |
|
121 |
|
-D_GNU_SOURCE=1 \ |
|
122 |
|
" |
|
123 |
|
|
|
124 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
125 |
|
src/cdf.c \ |
|
126 |
|
src/cpu.c \ |
|
127 |
|
src/data.c \ |
|
128 |
|
src/decode.c \ |
|
129 |
|
src/dequant_tables.c \ |
|
130 |
|
src/getbits.c \ |
|
131 |
|
src/intra_edge.c \ |
|
132 |
|
src/itx_1d.c \ |
|
133 |
|
src/lf_mask.c \ |
|
134 |
|
src/log.c \ |
|
135 |
|
src/mem.c \ |
|
136 |
|
src/msac.c \ |
|
137 |
|
src/obu.c \ |
|
138 |
|
src/picture.c \ |
|
139 |
|
src/qm.c \ |
|
140 |
|
src/ref.c \ |
|
141 |
|
src/refmvs.c \ |
|
142 |
|
src/scan.c \ |
|
143 |
|
src/tables.c \ |
|
144 |
|
src/warpmv.c \ |
|
145 |
|
src/wedge.c \ |
|
146 |
|
" |
|
147 |
|
|
|
148 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
149 |
|
src/x86/cpu.c \ |
|
150 |
|
" |
|
151 |
|
|
|
152 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
153 |
|
src/cdef_apply_tmpl.c \ |
|
154 |
|
src/cdef_tmpl.c \ |
|
155 |
|
src/fg_apply_tmpl.c \ |
|
156 |
|
src/filmgrain_tmpl.c \ |
|
157 |
|
src/ipred_prepare_tmpl.c \ |
|
158 |
|
src/ipred_tmpl.c \ |
|
159 |
|
src/itx_tmpl.c \ |
|
160 |
|
src/lf_apply_tmpl.c \ |
|
161 |
|
src/loopfilter_tmpl.c \ |
|
162 |
|
src/looprestoration_tmpl.c \ |
|
163 |
|
src/lr_apply_tmpl.c \ |
|
164 |
|
src/mc_tmpl.c \ |
|
165 |
|
src/recon_tmpl.c \ |
|
166 |
|
" |
|
167 |
|
|
|
168 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
169 |
|
src/x86/cpuid.asm \ |
|
170 |
|
src/x86/msac.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-e58afe4dd9057591882a01c31382c203e8a61c92/contrib/x86_64_linux_glibc_gcc.sh deleted (index fcdbb7e..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/pal.c \ |
|
137 |
|
src/picture.c \ |
|
138 |
|
src/qm.c \ |
|
139 |
|
src/ref.c \ |
|
140 |
|
src/refmvs.c \ |
|
141 |
|
src/scan.c \ |
|
142 |
|
src/tables.c \ |
|
143 |
|
src/warpmv.c \ |
|
144 |
|
src/wedge.c \ |
|
145 |
|
" |
|
146 |
|
|
|
147 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
148 |
|
src/x86/cpu.c \ |
|
149 |
|
" |
|
150 |
|
|
|
151 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
152 |
|
src/cdef_apply_tmpl.c \ |
|
153 |
|
src/cdef_tmpl.c \ |
|
154 |
|
src/fg_apply_tmpl.c \ |
|
155 |
|
src/filmgrain_tmpl.c \ |
|
156 |
|
src/ipred_prepare_tmpl.c \ |
|
157 |
|
src/ipred_tmpl.c \ |
|
158 |
|
src/itx_tmpl.c \ |
|
159 |
|
src/lf_apply_tmpl.c \ |
|
160 |
|
src/loopfilter_tmpl.c \ |
|
161 |
|
src/looprestoration_tmpl.c \ |
|
162 |
|
src/lr_apply_tmpl.c \ |
|
163 |
|
src/mc_tmpl.c \ |
|
164 |
|
src/recon_tmpl.c \ |
|
165 |
|
" |
|
166 |
|
|
|
167 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
168 |
|
src/x86/cpuid.asm \ |
|
169 |
|
src/x86/msac.asm \ |
|
170 |
|
src/x86/pal.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-ed63a7459376a21e88b871006574dc2055a2ea35/contrib/x86_64_linux_glibc_gcc.sh deleted (index 6c9ad8d..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
# STACK OPTIONS ARE MANDATORY... OMFG. |
|
42 |
|
if test "${cc-unset}" = unset; then |
|
43 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
44 |
|
-fvisibility=hidden \ |
|
45 |
|
-mpreferred-stack-boundary=6 -mincoming-stack-boundary=4 \ |
|
46 |
|
-fomit-frame-pointer -ffast-math \ |
|
47 |
|
-idirafter /nyan/glibc/current/include \ |
|
48 |
|
-idirafter /nyan/linux-headers/current/include" |
|
49 |
|
fi |
|
50 |
|
#=============================================================================== |
|
51 |
|
|
|
52 |
|
|
|
53 |
|
#=============================================================================== |
|
54 |
|
if test "${nasm-unset}" = unset; then |
|
55 |
|
nasm="nasm" |
|
56 |
|
fi |
|
57 |
|
#=============================================================================== |
|
58 |
|
|
|
59 |
|
|
|
60 |
|
#=============================================================================== |
|
61 |
|
if test "${ar-unset}" = unset; then |
|
62 |
|
ar='ar rcs' |
|
63 |
|
fi |
|
64 |
|
#=============================================================================== |
|
65 |
|
|
|
66 |
|
#=============================================================================== |
|
67 |
|
if test "${git_version-unset}" = unset; then |
|
68 |
|
git_version="tamereenshort" |
|
69 |
|
fi |
|
70 |
|
#=============================================================================== |
|
71 |
|
|
|
72 |
|
|
|
73 |
|
#=============================================================================== |
|
74 |
|
# should be in sync with the code |
|
75 |
|
version_major=6 |
|
76 |
|
version_minor=6 |
|
77 |
|
version_patch=0 |
|
78 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
79 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
80 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
81 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
82 |
|
#------------------------------------------------------------------------------ |
|
83 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
84 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
85 |
|
#=============================================================================== |
|
86 |
|
|
|
87 |
|
|
|
88 |
|
#=============================================================================== |
|
89 |
|
touch $build_dir/config.h |
|
90 |
|
touch $build_dir/config.asm |
|
91 |
|
#=============================================================================== |
|
92 |
|
|
|
93 |
|
|
|
94 |
|
#=============================================================================== |
|
95 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
96 |
|
# paths |
|
97 |
|
|
|
98 |
|
dav1d_cppflags="\ |
|
99 |
|
-DNDEBUG=1 \ |
|
100 |
|
-DHAVE_ASM=1 \ |
|
101 |
|
-DHAVE_AVX512ICL=1 \ |
|
102 |
|
-DCONFIG_8BPC=1 \ |
|
103 |
|
-DCONFIG_16BPC=1 \ |
|
104 |
|
-DARCH_X86=1 \ |
|
105 |
|
-DARCH_X86_64=1 \ |
|
106 |
|
-DPIC=1 \ |
|
107 |
|
-DSTACK_ALIGNMENT=32 \ |
|
108 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
109 |
|
\ |
|
110 |
|
-I$build_dir/ \ |
|
111 |
|
-I$src_dir/src/ \ |
|
112 |
|
-I$src_dir/ \ |
|
113 |
|
-I$src_dir/include/compat/gcc/ \ |
|
114 |
|
-I$src_dir/include/dav1d/ \ |
|
115 |
|
-I$src_dir/include/ \ |
|
116 |
|
" |
|
117 |
|
|
|
118 |
|
glibc_cppflags="\ |
|
119 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
120 |
|
-DHAVE_DLSYM=1 \ |
|
121 |
|
-D_GNU_SOURCE=1 \ |
|
122 |
|
" |
|
123 |
|
|
|
124 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
125 |
|
src/cdf.c \ |
|
126 |
|
src/cpu.c \ |
|
127 |
|
src/data.c \ |
|
128 |
|
src/decode.c \ |
|
129 |
|
src/dequant_tables.c \ |
|
130 |
|
src/getbits.c \ |
|
131 |
|
src/intra_edge.c \ |
|
132 |
|
src/itx_1d.c \ |
|
133 |
|
src/lf_mask.c \ |
|
134 |
|
src/log.c \ |
|
135 |
|
src/mem.c \ |
|
136 |
|
src/msac.c \ |
|
137 |
|
src/obu.c \ |
|
138 |
|
src/picture.c \ |
|
139 |
|
src/qm.c \ |
|
140 |
|
src/ref.c \ |
|
141 |
|
src/refmvs.c \ |
|
142 |
|
src/scan.c \ |
|
143 |
|
src/tables.c \ |
|
144 |
|
src/warpmv.c \ |
|
145 |
|
src/wedge.c \ |
|
146 |
|
" |
|
147 |
|
|
|
148 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
149 |
|
src/x86/cpu.c \ |
|
150 |
|
" |
|
151 |
|
|
|
152 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
153 |
|
src/cdef_apply_tmpl.c \ |
|
154 |
|
src/cdef_tmpl.c \ |
|
155 |
|
src/fg_apply_tmpl.c \ |
|
156 |
|
src/filmgrain_tmpl.c \ |
|
157 |
|
src/ipred_prepare_tmpl.c \ |
|
158 |
|
src/ipred_tmpl.c \ |
|
159 |
|
src/itx_tmpl.c \ |
|
160 |
|
src/lf_apply_tmpl.c \ |
|
161 |
|
src/loopfilter_tmpl.c \ |
|
162 |
|
src/looprestoration_tmpl.c \ |
|
163 |
|
src/lr_apply_tmpl.c \ |
|
164 |
|
src/mc_tmpl.c \ |
|
165 |
|
src/recon_tmpl.c \ |
|
166 |
|
" |
|
167 |
|
|
|
168 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
169 |
|
src/x86/cpuid.asm \ |
|
170 |
|
src/x86/msac.asm \ |
|
171 |
|
src/x86/refmvs.asm \ |
|
172 |
|
src/x86/cdef_avx2.asm \ |
|
173 |
|
src/x86/itx_avx2.asm \ |
|
174 |
|
src/x86/looprestoration_avx2.asm \ |
|
175 |
|
src/x86/cdef_sse.asm \ |
|
176 |
|
src/x86/itx_sse.asm \ |
|
177 |
|
" |
|
178 |
|
|
|
179 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
180 |
|
src/x86/cdef_avx512.asm \ |
|
181 |
|
src/x86/filmgrain_avx512.asm \ |
|
182 |
|
src/x86/ipred_avx512.asm \ |
|
183 |
|
src/x86/itx_avx512.asm \ |
|
184 |
|
src/x86/loopfilter_avx512.asm \ |
|
185 |
|
src/x86/looprestoration_avx512.asm \ |
|
186 |
|
src/x86/mc_avx512.asm \ |
|
187 |
|
\ |
|
188 |
|
src/x86/filmgrain_avx2.asm \ |
|
189 |
|
src/x86/ipred_avx2.asm \ |
|
190 |
|
src/x86/loopfilter_avx2.asm \ |
|
191 |
|
src/x86/mc_avx2.asm \ |
|
192 |
|
\ |
|
193 |
|
src/x86/filmgrain_sse.asm \ |
|
194 |
|
src/x86/ipred_sse.asm \ |
|
195 |
|
src/x86/loopfilter_sse.asm \ |
|
196 |
|
src/x86/looprestoration_sse.asm \ |
|
197 |
|
src/x86/mc_sse.asm \ |
|
198 |
|
" |
|
199 |
|
|
|
200 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
201 |
|
src/x86/cdef16_avx512.asm \ |
|
202 |
|
src/x86/filmgrain16_avx512.asm \ |
|
203 |
|
src/x86/ipred16_avx512.asm \ |
|
204 |
|
src/x86/itx16_avx512.asm \ |
|
205 |
|
src/x86/loopfilter16_avx512.asm \ |
|
206 |
|
src/x86/looprestoration16_avx512.asm \ |
|
207 |
|
src/x86/mc16_avx512.asm \ |
|
208 |
|
\ |
|
209 |
|
src/x86/cdef16_avx2.asm \ |
|
210 |
|
src/x86/filmgrain16_avx2.asm \ |
|
211 |
|
src/x86/ipred16_avx2.asm \ |
|
212 |
|
src/x86/itx16_avx2.asm \ |
|
213 |
|
src/x86/loopfilter16_avx2.asm \ |
|
214 |
|
src/x86/looprestoration16_avx2.asm \ |
|
215 |
|
src/x86/mc16_avx2.asm \ |
|
216 |
|
\ |
|
217 |
|
src/x86/cdef16_sse.asm \ |
|
218 |
|
src/x86/filmgrain16_sse.asm \ |
|
219 |
|
src/x86/ipred16_sse.asm \ |
|
220 |
|
src/x86/itx16_sse.asm \ |
|
221 |
|
src/x86/loopfilter16_sse.asm \ |
|
222 |
|
src/x86/looprestoration16_sse.asm \ |
|
223 |
|
src/x86/mc16_sse.asm \ |
|
224 |
|
" |
|
225 |
|
|
|
226 |
|
libdav1d_entrypoints_c_files="\ |
|
227 |
|
src/lib.c \ |
|
228 |
|
src/thread_task.c \ |
|
229 |
|
" |
|
230 |
|
#=============================================================================== |
|
231 |
|
|
|
232 |
|
|
|
233 |
|
#=============================================================================== |
|
234 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
235 |
|
do |
|
236 |
|
mkdir -p $build_dir/$(dirname $f) |
|
237 |
|
libdav1d_obj=$build_dir/$f.o |
|
238 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
239 |
|
|
|
240 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
241 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
242 |
|
done |
|
243 |
|
|
|
244 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
245 |
|
do |
|
246 |
|
mkdir -p $build_dir/$(dirname $f) |
|
247 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
248 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
249 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
250 |
|
|
|
251 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
253 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
254 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
255 |
|
done |
|
256 |
|
|
|
257 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
258 |
|
do |
|
259 |
|
mkdir -p $build_dir/$(dirname $f) |
|
260 |
|
libdav1d_obj=$build_dir/$f.o |
|
261 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
262 |
|
|
|
263 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
264 |
|
$nasm -f elf64 \ |
|
265 |
|
-o $libdav1d_obj \ |
|
266 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
267 |
|
-Dprivate_prefix=dav1d \ |
|
268 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
269 |
|
done |
|
270 |
|
#=============================================================================== |
|
271 |
|
|
|
272 |
|
|
|
273 |
|
#=============================================================================== |
|
274 |
|
wait |
|
275 |
|
|
|
276 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
277 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
278 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
279 |
|
-shared -static-libgcc \ |
|
280 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
281 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
282 |
|
$libdav1d_objs \ |
|
283 |
|
-Wl,--as-needed \ |
|
284 |
|
-lpthread \ |
|
285 |
|
-lm \ |
|
286 |
|
-ldl \ |
|
287 |
|
-Wl,--no-as-needed" |
|
288 |
|
fi |
|
289 |
|
printf 'CCLD\n' |
|
290 |
|
eval $slib_link_cmd |
|
File builders/dav1d-f8ae94eca0f53502a2cddd29a263c1edea4822a0/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-fa8ae5776d5603f52725c1a6bc673acb649577fb/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|
File builders/dav1d-fd1a5836450d486b8331bde2d32c6e74c5ebd365/contrib/x86_64_linux_glibc_gcc.sh deleted (index 4951b7b..0000000) |
1 |
|
#!/bin/sh |
|
2 |
|
|
|
3 |
|
# Canonical specialized, cheap build scripts for x86_64 gnu/linux distros. |
|
4 |
|
# Look for "unset", you'll find the values you can override in $1 or |
|
5 |
|
# $build_dir/local_conf.sh file, that in order to tune the script for your |
|
6 |
|
# specific distro/needs. |
|
7 |
|
|
|
8 |
|
# Usage, drop the script in the "contrib" dir at the top of the source tree, |
|
9 |
|
# create somewhere else a build directory, cd into it, and call from there this |
|
10 |
|
# script. |
|
11 |
|
#=============================================================================== |
|
12 |
|
|
|
13 |
|
|
|
14 |
|
#=============================================================================== |
|
15 |
|
# build dir and src dir |
|
16 |
|
build_dir=$(readlink -f .) |
|
17 |
|
echo "build_dir=$build_dir" |
|
18 |
|
# we are in contrib |
|
19 |
|
src_dir=$(readlink -f $(dirname $0)/..) |
|
20 |
|
echo "src_dir=$src_dir" |
|
21 |
|
#=============================================================================== |
|
22 |
|
|
|
23 |
|
|
|
24 |
|
#=============================================================================== |
|
25 |
|
# the current configur-able variables may be individually overridden with the |
|
26 |
|
# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" |
|
27 |
|
# in those scripts to find what you can override to tune the build. |
|
28 |
|
if test -f "$1"; then |
|
29 |
|
. "$1" |
|
30 |
|
else |
|
31 |
|
if test -f $build_dir/local_conf.sh; then |
|
32 |
|
. $build_dir/local_conf.sh |
|
33 |
|
fi |
|
34 |
|
fi |
|
35 |
|
#=============================================================================== |
|
36 |
|
|
|
37 |
|
|
|
38 |
|
#=============================================================================== |
|
39 |
|
# all symbols are tagged hidden by default, then only the public symbol |
|
40 |
|
# will be tagged public explicitely in the code (with extensions to C) |
|
41 |
|
if test "${cc-unset}" = unset; then |
|
42 |
|
cc="gcc -pipe -fPIC -O2 -c -static-libgcc \ |
|
43 |
|
-fvisibility=hidden \ |
|
44 |
|
-fomit-frame-pointer -ffast-math \ |
|
45 |
|
-idirafter /nyan/glibc/current/include \ |
|
46 |
|
-idirafter /nyan/linux-headers/current/include" |
|
47 |
|
fi |
|
48 |
|
#=============================================================================== |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
#=============================================================================== |
|
52 |
|
if test "${nasm-unset}" = unset; then |
|
53 |
|
nasm="nasm" |
|
54 |
|
fi |
|
55 |
|
#=============================================================================== |
|
56 |
|
|
|
57 |
|
|
|
58 |
|
#=============================================================================== |
|
59 |
|
if test "${ar-unset}" = unset; then |
|
60 |
|
ar='ar rcs' |
|
61 |
|
fi |
|
62 |
|
#=============================================================================== |
|
63 |
|
|
|
64 |
|
#=============================================================================== |
|
65 |
|
if test "${git_version-unset}" = unset; then |
|
66 |
|
git_version="tamereenshort" |
|
67 |
|
fi |
|
68 |
|
#=============================================================================== |
|
69 |
|
|
|
70 |
|
|
|
71 |
|
#=============================================================================== |
|
72 |
|
# should be in sync with the code |
|
73 |
|
version_major=6 |
|
74 |
|
version_minor=6 |
|
75 |
|
version_patch=0 |
|
76 |
|
cp -f $src_dir/include/dav1d/version.h.in $build_dir/version.h |
|
77 |
|
sed -e "s:@DAV1D_API_VERSION_MAJOR@:$version_major:;\ |
|
78 |
|
s:@DAV1D_API_VERSION_MINOR@:$version_minor:;\ |
|
79 |
|
s:@DAV1D_API_VERSION_PATCH@:$version_patch:" -i $build_dir/version.h |
|
80 |
|
#------------------------------------------------------------------------------ |
|
81 |
|
cp -f $src_dir/include/vcs_version.h.in $build_dir/vcs_version.h |
|
82 |
|
sed -e "s:@VCS_TAG@:$git_version:" -i $build_dir/vcs_version.h |
|
83 |
|
#=============================================================================== |
|
84 |
|
|
|
85 |
|
|
|
86 |
|
#=============================================================================== |
|
87 |
|
touch $build_dir/config.h |
|
88 |
|
touch $build_dir/config.asm |
|
89 |
|
#=============================================================================== |
|
90 |
|
|
|
91 |
|
|
|
92 |
|
#=============================================================================== |
|
93 |
|
# make it work with cpp _and_ nasm: '= 1' for the macros and an ending '/' for the |
|
94 |
|
# paths |
|
95 |
|
|
|
96 |
|
dav1d_cppflags="\ |
|
97 |
|
-DNDEBUG=1 \ |
|
98 |
|
-DHAVE_ASM=1 \ |
|
99 |
|
-DHAVE_AVX512ICL=1 \ |
|
100 |
|
-DCONFIG_8BPC=1 \ |
|
101 |
|
-DCONFIG_16BPC=1 \ |
|
102 |
|
-DARCH_X86=1 \ |
|
103 |
|
-DARCH_X86_64=1 \ |
|
104 |
|
-DPIC=1 \ |
|
105 |
|
-DSTACK_ALIGNMENT=32 \ |
|
106 |
|
-DFORCE_VEX_ENCODING=1 \ |
|
107 |
|
\ |
|
108 |
|
-I$build_dir/ \ |
|
109 |
|
-I$src_dir/src/ \ |
|
110 |
|
-I$src_dir/ \ |
|
111 |
|
-I$src_dir/include/compat/gcc/ \ |
|
112 |
|
-I$src_dir/include/dav1d/ \ |
|
113 |
|
-I$src_dir/include/ \ |
|
114 |
|
" |
|
115 |
|
|
|
116 |
|
glibc_cppflags="\ |
|
117 |
|
-DHAVE_POSIX_MEMALIGN=1 \ |
|
118 |
|
-DHAVE_DLSYM=1 \ |
|
119 |
|
-D_GNU_SOURCE=1 \ |
|
120 |
|
" |
|
121 |
|
|
|
122 |
|
libdav1d_nobitdepth_generic_c_files="\ |
|
123 |
|
src/cdf.c \ |
|
124 |
|
src/cpu.c \ |
|
125 |
|
src/data.c \ |
|
126 |
|
src/decode.c \ |
|
127 |
|
src/dequant_tables.c \ |
|
128 |
|
src/getbits.c \ |
|
129 |
|
src/intra_edge.c \ |
|
130 |
|
src/itx_1d.c \ |
|
131 |
|
src/lf_mask.c \ |
|
132 |
|
src/log.c \ |
|
133 |
|
src/mem.c \ |
|
134 |
|
src/msac.c \ |
|
135 |
|
src/obu.c \ |
|
136 |
|
src/picture.c \ |
|
137 |
|
src/qm.c \ |
|
138 |
|
src/ref.c \ |
|
139 |
|
src/refmvs.c \ |
|
140 |
|
src/scan.c \ |
|
141 |
|
src/tables.c \ |
|
142 |
|
src/warpmv.c \ |
|
143 |
|
src/wedge.c \ |
|
144 |
|
" |
|
145 |
|
|
|
146 |
|
libdav1d_nobitdepth_x86_c_files="\ |
|
147 |
|
src/x86/cpu.c \ |
|
148 |
|
" |
|
149 |
|
|
|
150 |
|
libdav1d_bitdepth_generic_c_files="\ |
|
151 |
|
src/cdef_apply_tmpl.c \ |
|
152 |
|
src/cdef_tmpl.c \ |
|
153 |
|
src/fg_apply_tmpl.c \ |
|
154 |
|
src/filmgrain_tmpl.c \ |
|
155 |
|
src/ipred_prepare_tmpl.c \ |
|
156 |
|
src/ipred_tmpl.c \ |
|
157 |
|
src/itx_tmpl.c \ |
|
158 |
|
src/lf_apply_tmpl.c \ |
|
159 |
|
src/loopfilter_tmpl.c \ |
|
160 |
|
src/looprestoration_tmpl.c \ |
|
161 |
|
src/lr_apply_tmpl.c \ |
|
162 |
|
src/mc_tmpl.c \ |
|
163 |
|
src/recon_tmpl.c \ |
|
164 |
|
" |
|
165 |
|
|
|
166 |
|
libdav1d_nobitdepth_x86_nasm_files="\ |
|
167 |
|
src/x86/cpuid.asm \ |
|
168 |
|
src/x86/msac.asm \ |
|
169 |
|
src/x86/refmvs.asm \ |
|
170 |
|
src/x86/cdef_avx2.asm \ |
|
171 |
|
src/x86/itx_avx2.asm \ |
|
172 |
|
src/x86/looprestoration_avx2.asm \ |
|
173 |
|
src/x86/cdef_sse.asm \ |
|
174 |
|
src/x86/itx_sse.asm \ |
|
175 |
|
" |
|
176 |
|
|
|
177 |
|
libdav1d_8bitdepth_x86_nasm_files="\ |
|
178 |
|
src/x86/cdef_avx512.asm \ |
|
179 |
|
src/x86/filmgrain_avx512.asm \ |
|
180 |
|
src/x86/ipred_avx512.asm \ |
|
181 |
|
src/x86/itx_avx512.asm \ |
|
182 |
|
src/x86/loopfilter_avx512.asm \ |
|
183 |
|
src/x86/looprestoration_avx512.asm \ |
|
184 |
|
src/x86/mc_avx512.asm \ |
|
185 |
|
\ |
|
186 |
|
src/x86/filmgrain_avx2.asm \ |
|
187 |
|
src/x86/ipred_avx2.asm \ |
|
188 |
|
src/x86/loopfilter_avx2.asm \ |
|
189 |
|
src/x86/mc_avx2.asm \ |
|
190 |
|
\ |
|
191 |
|
src/x86/filmgrain_sse.asm \ |
|
192 |
|
src/x86/ipred_sse.asm \ |
|
193 |
|
src/x86/loopfilter_sse.asm \ |
|
194 |
|
src/x86/looprestoration_sse.asm \ |
|
195 |
|
src/x86/mc_sse.asm \ |
|
196 |
|
" |
|
197 |
|
|
|
198 |
|
libdav1d_16bitdepth_x86_nasm_files="\ |
|
199 |
|
src/x86/cdef16_avx512.asm \ |
|
200 |
|
src/x86/filmgrain16_avx512.asm \ |
|
201 |
|
src/x86/ipred16_avx512.asm \ |
|
202 |
|
src/x86/itx16_avx512.asm \ |
|
203 |
|
src/x86/loopfilter16_avx512.asm \ |
|
204 |
|
src/x86/looprestoration16_avx512.asm \ |
|
205 |
|
src/x86/mc16_avx512.asm \ |
|
206 |
|
\ |
|
207 |
|
src/x86/cdef16_avx2.asm \ |
|
208 |
|
src/x86/filmgrain16_avx2.asm \ |
|
209 |
|
src/x86/ipred16_avx2.asm \ |
|
210 |
|
src/x86/itx16_avx2.asm \ |
|
211 |
|
src/x86/loopfilter16_avx2.asm \ |
|
212 |
|
src/x86/looprestoration16_avx2.asm \ |
|
213 |
|
src/x86/mc16_avx2.asm \ |
|
214 |
|
\ |
|
215 |
|
src/x86/cdef16_sse.asm \ |
|
216 |
|
src/x86/filmgrain16_sse.asm \ |
|
217 |
|
src/x86/ipred16_sse.asm \ |
|
218 |
|
src/x86/itx16_sse.asm \ |
|
219 |
|
src/x86/loopfilter16_sse.asm \ |
|
220 |
|
src/x86/looprestoration16_sse.asm \ |
|
221 |
|
src/x86/mc16_sse.asm \ |
|
222 |
|
" |
|
223 |
|
|
|
224 |
|
libdav1d_entrypoints_c_files="\ |
|
225 |
|
src/lib.c \ |
|
226 |
|
src/thread_task.c \ |
|
227 |
|
" |
|
228 |
|
#=============================================================================== |
|
229 |
|
|
|
230 |
|
|
|
231 |
|
#=============================================================================== |
|
232 |
|
for f in $libdav1d_nobitdepth_generic_c_files $libdav1d_nobitdepth_x86_c_files $libdav1d_entrypoints_c_files |
|
233 |
|
do |
|
234 |
|
mkdir -p $build_dir/$(dirname $f) |
|
235 |
|
libdav1d_obj=$build_dir/$f.o |
|
236 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
237 |
|
|
|
238 |
|
printf "CC NOBITDEPTH $src_dir/$f\n" |
|
239 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -o $libdav1d_obj & |
|
240 |
|
done |
|
241 |
|
|
|
242 |
|
for f in $libdav1d_bitdepth_generic_c_files |
|
243 |
|
do |
|
244 |
|
mkdir -p $build_dir/$(dirname $f) |
|
245 |
|
libdav1d_8_obj=$build_dir/$f.8.o |
|
246 |
|
libdav1d_16_obj=$build_dir/$f.16.o |
|
247 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_8_obj $libdav1d_16_obj" |
|
248 |
|
|
|
249 |
|
printf "CC 8BITS $src_dir/$f\n" |
|
250 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=8 -o $libdav1d_8_obj & |
|
251 |
|
printf "CC 16BITS $src_dir/$f\n" |
|
252 |
|
$cc $dav1d_cppflags $glibc_cppflags $src_dir/$f -DBITDEPTH=16 -o $libdav1d_16_obj & |
|
253 |
|
done |
|
254 |
|
|
|
255 |
|
for f in $libdav1d_nobitdepth_x86_nasm_files $libdav1d_8bitdepth_x86_nasm_files $libdav1d_16bitdepth_x86_nasm_files |
|
256 |
|
do |
|
257 |
|
mkdir -p $build_dir/$(dirname $f) |
|
258 |
|
libdav1d_obj=$build_dir/$f.o |
|
259 |
|
libdav1d_objs="$libdav1d_objs $libdav1d_obj" |
|
260 |
|
|
|
261 |
|
printf "ASM NOBITDEPTH $src_dir/$f\n" |
|
262 |
|
$nasm -f elf64 \ |
|
263 |
|
-o $libdav1d_obj \ |
|
264 |
|
$dav1d_cppflags $glibc_cppflags \ |
|
265 |
|
-Dprivate_prefix=dav1d \ |
|
266 |
|
-DARCH_X86_32=0 $src_dir/$f & |
|
267 |
|
done |
|
268 |
|
#=============================================================================== |
|
269 |
|
|
|
270 |
|
|
|
271 |
|
#=============================================================================== |
|
272 |
|
wait |
|
273 |
|
|
|
274 |
|
if test "${slib_link_cmd-unset}" = unset ; then |
|
275 |
|
slib_link_cmd="gcc -o $build_dir/libdav1d.so.$version_major.$version_minor.$version_patch \ |
|
276 |
|
-Wl,-soname=libdav1d.so.$version_major \ |
|
277 |
|
-shared -static-libgcc \ |
|
278 |
|
-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ |
|
279 |
|
-Wl,--no-undefined,--gc-sections,-Bsymbolic \ |
|
280 |
|
$libdav1d_objs \ |
|
281 |
|
-Wl,--as-needed \ |
|
282 |
|
-lpthread \ |
|
283 |
|
-lm \ |
|
284 |
|
-ldl \ |
|
285 |
|
-Wl,--no-as-needed" |
|
286 |
|
fi |
|
287 |
|
printf 'CCLD\n' |
|
288 |
|
eval $slib_link_cmd |
|