blob: 9979632cc1f7f0c1ec98afa7edbcd95a1bf0223f [file] [log] [blame]
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +01001AC_PREREQ([2.69])
Liam Girdwood6bb37832018-01-10 20:43:25 +00002AC_INIT([sof],[m4_esyscmd(./version.sh)],[sound-open-firmware@alsa-project.org])
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +01003AC_CONFIG_SRCDIR([src/init/init.c])
4AC_CONFIG_HEADERS([src/include/config.h])
5AC_CONFIG_MACRO_DIRS([m4])
6AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability subdir-objects silent-rules color-tests dist-xz tar-ustar])
7
8# Initialize maintainer mode
9AM_MAINTAINER_MODE([enable])
10
11# get version info from git
Pierre-Louis Bossart81708a52018-04-04 18:46:50 -050012m4_define(sof_major, `cat .version | cut -dv -f2 | cut -d. -f1`)
13m4_define(sof_minor, `cat .version | cut -d. -f2 | cut -d- -f1`)
14m4_define(sof_micro, `cat .version | cut -d. -f3 | cut -d- -f1`)
15AC_DEFINE_UNQUOTED([SOF_MAJOR], sof_major, [Sof major version])
16AC_DEFINE_UNQUOTED([SOF_MINOR], sof_minor, [Sof minor version])
17AC_DEFINE_UNQUOTED([SOF_MICRO], sof_micro, [Sof micro version])
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010018
19AC_CANONICAL_HOST
20
Liam Girdwoodcc9fba32018-01-22 23:31:24 +000021# General assembler flags
22ASFLAGS="-DASSEMBLY"
23AC_SUBST(ASFLAGS)
24
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010025# Cross compiler tool libgcc and headers
Liam Girdwood8855ce52016-10-18 17:18:16 +010026AC_ARG_WITH([root-dir],
Tomasz Laudaac7b0c22018-06-04 12:03:42 +010027 AS_HELP_STRING([--with-root-dir], [Specify location of cross gcc libraries and headers]),
28 [], [with_root_dir=no])
29
30# MEU location
31AC_ARG_WITH([meu],
32 AS_HELP_STRING([--with-meu], [Specify location of MEU tool]),
33 [], [with_meu=no])
34if test "x$with_meu" != "xno"; then
35 MEU_PATH="$with_meu"
36 AC_SUBST(MEU_PATH)
37
38 MEU_VERSION=$($with_meu/meu -ver | grep "Version:" | cut -d" " -f6)
39 AX_COMPARE_VERSION([$MEU_VERSION], [ge], [12.0.0.1035], [MEU_OFFSET=1088], [MEU_OFFSET=1152])
40 AC_SUBST(MEU_OFFSET)
41fi
42AM_CONDITIONAL(USE_MEU, test "x$with_meu" != "xno")
43
44# Private key location
45AC_ARG_WITH([key],
46 AS_HELP_STRING([--with-key], [Specify location of private key]),
47 [], [with_key=no])
48if test "x$with_meu" != "xno"; then
49 if test "x$with_key" != "xno"; then
50 PRIVATE_KEY="$with_key"
51 AC_SUBST(PRIVATE_KEY)
52 else
53 AC_MSG_ERROR([Private key location not specified])
54 fi
55fi
Ranjani Sridharan05058232018-01-24 22:42:38 -080056
57# check if we are building FW image or library
58AC_ARG_ENABLE(library, [AS_HELP_STRING([--enable-library],[build library])], have_library=$enableval, have_library=no)
59if test "$have_library" = "yes"; then
60 AC_DEFINE([CONFIG_LIB], [1], [Configure for Shared Library])
61fi
62AM_CONDITIONAL(BUILD_LIB, test "$have_library" = "yes")
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010063
Liam Girdwood05ef4342018-02-13 20:29:40 +000064# check if we are building tools
65AC_ARG_ENABLE(rimage, [AS_HELP_STRING([--enable-rimage],[build rimage tool])], have_rimage=$enableval, have_rimage=no)
66if test "$have_rimage" = "yes"; then
67 AC_DEFINE([CONFIG_RIMAGE], [1], [Configure to build rimage])
Liam Girdwood7c960662018-07-14 17:34:15 +010068 AM_CFLAGS="-O2 -g -Wall -Werror -Wl,-EL -Wmissing-prototypes"
Liam Girdwood05ef4342018-02-13 20:29:40 +000069fi
70AM_CONDITIONAL(BUILD_RIMAGE, test "$have_rimage" = "yes")
71
Seppo Ingalsuo447ac9b2018-05-11 17:03:03 +030072# Disable DMIC driver if requested, by default build for supported platforms
73AC_ARG_ENABLE([dmic], AS_HELP_STRING([--disable-dmic], [Disable DMIC driver]))
74AS_IF([test "x$enable_dmic" != "xno"], [
75 AC_DEFINE([CONFIG_DMIC], [1], [Configure to build DMIC driver])
76])
77
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010078# Architecture support
79AC_ARG_WITH([arch],
80 AS_HELP_STRING([--with-arch], [Specify DSP architecture]),
81 [], [with_arch=no])
82
83case "$with_arch" in
84 xtensa*)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010085
86 ARCH_CFLAGS="-mtext-section-literals"
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010087
88 ARCH_LDFLAGS="-nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static"
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010089
Janusz Jankowski17c929e2018-07-06 13:58:47 +020090 # automake FLAGS defined here
91 AM_CFLAGS="-fno-inline-functions -nostdlib -mlongcalls"
92 AM_LDFLAGS="-nostdlib"
93 AM_CCASFLAGS="-fno-inline-functions -nostdlib -mlongcalls"
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010094
Liam Girdwooda2acc882018-07-14 17:33:19 +010095 # GCC needs these additional flags on top of any user flags.
96 CFLAGS="${CFLAGS:+$CFLAGS } -O2 -g -Wall -Werror -Wl,-EL -Wmissing-prototypes"
97 LDFLAGS="${LDFLAGS:+$LDFLAGS } ${AM_LDFLAGS}"
98 CCASFLAGS="${CCASFLAGS:+$CCASFLAGS } ${AM_CCASFLAGS}"
99
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100100 ARCH="xtensa"
101 AC_SUBST(ARCH)
Ranjani Sridharan05058232018-01-24 22:42:38 -0800102
103 AS_IF([test "x$with_root_dir" = xno],
104 AC_MSG_ERROR([Please specify cross compiler root header directory]),
105 [ROOT_DIR=$with_root_dir])
106 AC_SUBST(ROOT_DIR)
107 ;;
108 host*)
109
110 ARCH_CFLAGS="-g"
Ranjani Sridharan05058232018-01-24 22:42:38 -0800111
Janusz Jankowski17c929e2018-07-06 13:58:47 +0200112 # automake FLAGS defined here
113 AM_CFLAGS="-O3"
114 AM_LDFLAGS="-lpthread"
115 AM_CCASFLAGS="-O3"
Ranjani Sridharan05058232018-01-24 22:42:38 -0800116
117 ARCH="host"
118 AC_SUBST(ARCH)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100119 ;;
120 *)
Liam Girdwood05ef4342018-02-13 20:29:40 +0000121 if test "$have_rimage" = "no"; then
122 AC_MSG_ERROR([DSP architecture not specified])
123 fi
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100124 ;;
125esac
126
Janusz Jankowski17c929e2018-07-06 13:58:47 +0200127AC_SUBST(ARCH_CFLAGS)
128AC_SUBST(ARCH_LDFLAGS)
129
130AC_SUBST(AM_CFLAGS)
131AC_SUBST(AM_LDFLAGS)
132AC_SUBST(AM_CCASFLAGS)
133
Liam Girdwood2eab4672017-11-27 05:24:51 +0800134AM_CONDITIONAL(BUILD_XTENSA, test "$ARCH" = "xtensa")
Ranjani Sridharan05058232018-01-24 22:42:38 -0800135AM_CONDITIONAL(BUILD_HOST, test "$ARCH" = "host")
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100136
Janusz Jankowskid6d9efb2018-06-11 10:31:30 +0200137# Cmocka tests
138AC_ARG_WITH([cmocka-prefix],
139 AS_HELP_STRING([--with-cmocka-prefix], [Path to cmocka]),
140 [], [with_cmocka_prefix="no"])
141
Janusz Jankowski98933132018-06-15 10:46:42 +0200142# in case of native build, cmocka may be installed
143HAVE_CMOCKA_PKG=no
144AC_CHECK_LIB(cmocka, _cmocka_run_group_tests, [HAVE_CMOCKA_PKG=yes])
145
Janusz Jankowskid6d9efb2018-06-11 10:31:30 +0200146if test "x$with_arch" != "xno"; then
147 if test "x$with_cmocka_prefix" = "xno"; then
148 if test "$ARCH" = "xtensa"; then
149 AC_MSG_WARN([Need cmocka to run unit tests. Path to cmocka not specified. Please use --with-cmocka-prefix option.])
Janusz Jankowski98933132018-06-15 10:46:42 +0200150 elif test "x$HAVE_CMOCKA_PKG" = "xno"; then
151 AC_MSG_WARN([Need cmocka to run unit tests. No cmocka library found. Please install cmocka or use --with-cmocka-prefix option.])
Janusz Jankowskid6d9efb2018-06-11 10:31:30 +0200152 fi
153 else
154 CMOCKA_PREFIX="$with_cmocka_prefix"
155 AC_SUBST(CMOCKA_PREFIX)
156 fi
157fi
158
159AM_CONDITIONAL(HAVE_CMOCKA_PREFIX, test "x$with_cmocka_prefix" != "xno")
160
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100161# Platform support
162AC_ARG_WITH([platform],
163 AS_HELP_STRING([--with-platform], [Specify Host Platform]),
164 [], [with_platform=no])
165
166case "$with_platform" in
167 baytrail*)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100168
169 PLATFORM_LDSCRIPT="baytrail.x"
170 AC_SUBST(PLATFORM_LDSCRIPT)
171
172 PLATFORM="baytrail"
173 AC_SUBST(PLATFORM)
174
175 FW_NAME="byt"
176 AC_SUBST(FW_NAME)
177
Liam Girdwoodf63c7892017-12-04 20:08:39 +0000178 XTENSA_CORE="hifiep_bd5"
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100179 AC_SUBST(XTENSA_CORE)
180
181 AC_DEFINE([CONFIG_BAYTRAIL], [1], [Configure for Baytrail])
Keyon Jiefb784212017-12-06 21:16:32 +0800182 AC_DEFINE([CONFIG_HOST_PTABLE], [1], [Configure handling host page table])
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100183 ;;
184 cherrytrail*)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100185
186 PLATFORM_LDSCRIPT="baytrail.x"
187 AC_SUBST(PLATFORM_LDSCRIPT)
188
189 PLATFORM="baytrail"
190 AC_SUBST(PLATFORM)
191
192 FW_NAME="cht"
193 AC_SUBST(FW_NAME)
194
Liam Girdwoodf63c7892017-12-04 20:08:39 +0000195 XTENSA_CORE="hifiep_bd5"
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100196 AC_SUBST(XTENSA_CORE)
197
198 AC_DEFINE([CONFIG_CHERRYTRAIL], [1], [Configure for Cherrytrail])
Keyon Jiefb784212017-12-06 21:16:32 +0800199 AC_DEFINE([CONFIG_HOST_PTABLE], [1], [Configure handling host page table])
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100200 ;;
Liam Girdwood095c9072018-01-23 14:53:00 +0000201 apollolake*)
202
203 PLATFORM_LDSCRIPT="apollolake.x"
204 AC_SUBST(PLATFORM_LDSCRIPT)
205
206 PLATFORM="apollolake"
207 AC_SUBST(PLATFORM)
208
209 FW_NAME="apl"
210 AC_SUBST(FW_NAME)
211
212 XTENSA_CORE="hifi3_std"
213 AC_SUBST(XTENSA_CORE)
214
215 AC_DEFINE([CONFIG_APOLLOLAKE], [1], [Configure for Apololake])
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200216 AC_DEFINE([CONFIG_BOOT_LOADER], [1], [Configure Boot Loader])
Liam Girdwood095c9072018-01-23 14:53:00 +0000217 AC_DEFINE([CONFIG_IRQ_MAP], [1], [Configure IRQ maps])
Keyon Jiec610c642018-02-08 20:48:11 +0800218 AC_DEFINE([CONFIG_DMA_GW], [1], [Configure DMA Gateway])
Liam Girdwood095c9072018-01-23 14:53:00 +0000219 ;;
Liam Girdwoodf198ad92018-01-21 23:48:35 +0000220 haswell*)
221
222 PLATFORM_LDSCRIPT="haswell.x"
223 AC_SUBST(PLATFORM_LDSCRIPT)
224
225 PLATFORM="haswell"
226 AC_SUBST(PLATFORM)
227
228 FW_NAME="hsw"
229 AC_SUBST(FW_NAME)
230
231 XTENSA_CORE="hifiep_bd5"
232 AC_SUBST(XTENSA_CORE)
233
234 AC_DEFINE([CONFIG_HASWELL], [1], [Configure for Haswell])
235 AC_DEFINE([CONFIG_HOST_PTABLE], [1], [Configure handling host page table])
236 ;;
237 broadwell*)
238
239 PLATFORM_LDSCRIPT="broadwell.x"
240 AC_SUBST(PLATFORM_LDSCRIPT)
241
242 PLATFORM="haswell"
243 AC_SUBST(PLATFORM)
244
245 FW_NAME="bdw"
246 AC_SUBST(FW_NAME)
247
248 XTENSA_CORE="hifiep_bd5"
249 AC_SUBST(XTENSA_CORE)
250
251 AC_DEFINE([CONFIG_BROADWELL], [1], [Configure for Broadwell])
252 AC_DEFINE([CONFIG_HOST_PTABLE], [1], [Configure handling host page table])
253 ;;
Liam Girdwood17c6bcf2018-01-23 15:44:08 +0000254 cannonlake*)
255
256 PLATFORM_LDSCRIPT="cannonlake.x"
257 AC_SUBST(PLATFORM_LDSCRIPT)
258
259 PLATFORM="cannonlake"
260 AC_SUBST(PLATFORM)
261
262 FW_NAME="cnl"
263 AC_SUBST(FW_NAME)
264
265 XTENSA_CORE="hifi4_std"
266 AC_SUBST(XTENSA_CORE)
267
268 AC_DEFINE([CONFIG_CANNONLAKE], [1], [Configure for Cannonlake])
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200269 AC_DEFINE([CONFIG_BOOT_LOADER], [1], [Configure Boot Loader])
Liam Girdwood17c6bcf2018-01-23 15:44:08 +0000270 AC_DEFINE([CONFIG_IRQ_MAP], [1], [Configure IRQ maps])
Keyon Jiec610c642018-02-08 20:48:11 +0800271 AC_DEFINE([CONFIG_DMA_GW], [1], [Configure DMA Gateway])
Liam Girdwood17c6bcf2018-01-23 15:44:08 +0000272 ;;
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100273 *)
Liam Girdwood05ef4342018-02-13 20:29:40 +0000274 if test "$have_rimage" = "no"; then
275 if test "$ARCH" = "host"; then
276 PLATFORM="host"
277 AC_SUBST(PLATFORM)
278 else
279 AC_MSG_ERROR([Host platform not specified])
280 fi
Ranjani Sridharan05058232018-01-24 22:42:38 -0800281 fi
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100282 ;;
283esac
284
Liam Girdwood2eab4672017-11-27 05:24:51 +0800285AM_CONDITIONAL(BUILD_BAYTRAIL, test "$FW_NAME" = "byt")
286AM_CONDITIONAL(BUILD_CHERRYTRAIL, test "$FW_NAME" = "cht")
287AM_CONDITIONAL(BUILD_HASWELL, test "$FW_NAME" = "hsw")
288AM_CONDITIONAL(BUILD_BROADWELL, test "$FW_NAME" = "bdw")
289AM_CONDITIONAL(BUILD_APOLLOLAKE, test "$FW_NAME" = "apl")
Liam Girdwood17c6bcf2018-01-23 15:44:08 +0000290AM_CONDITIONAL(BUILD_CANNONLAKE, test "$FW_NAME" = "cnl")
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200291AM_CONDITIONAL(BUILD_BOOTLOADER, test "$FW_NAME" = "apl" -o "$FW_NAME" = "cnl")
Tomasz Lauda14ca1fa2018-06-19 16:55:34 +0200292AM_CONDITIONAL(BUILD_CAVS, test "$FW_NAME" = "apl" -o "$FW_NAME" = "cnl")
Liam Girdwood095c9072018-01-23 14:53:00 +0000293AM_CONDITIONAL(BUILD_MODULE, test "$FW_NAME" = "apl" -o "$FW_NAME" = "cnl")
Rander Wang45027652018-02-08 16:06:33 +0800294AM_CONDITIONAL(BUILD_APL_SSP, test "$FW_NAME" = "apl" -o "$FW_NAME" = "cnl")
Liam Girdwoodf198ad92018-01-21 23:48:35 +0000295
Sebastien Guiriecca23f512016-11-02 08:44:19 +0100296# DSP core support (Optional)
297AC_ARG_WITH([dsp-core],
298 AS_HELP_STRING([--with-dsp-core], [Specify DSP Core]),
299 [], [with_dsp_core=no])
300
301case "$with_dsp_core" in
Tomasz Lauda7f352662018-04-05 17:20:09 +0200302 *)
303 XTENSA_CORE="$with_dsp_core"
Sebastien Guiriecca23f512016-11-02 08:44:19 +0100304 AC_SUBST(XTENSA_CORE)
305 ;;
306
307esac
308
Liam Girdwood17c6bcf2018-01-23 15:44:08 +0000309PLATFORM_BOOT_LDR_LDSCRIPT="boot_ldr.x"
310AC_SUBST(PLATFORM_BOOT_LDR_LDSCRIPT)
311
Ranjani Sridharan05058232018-01-24 22:42:38 -0800312# Optimisation settings and checks
313
314# SSE4_2 support
315AC_ARG_ENABLE(sse42, [AS_HELP_STRING([--enable-sse42],[enable SSE42 optimizations])], have_sse42=$enableval, have_sse42=yes)
316AX_CHECK_COMPILE_FLAG(-msse4.2, [SSE42_CFLAGS="-DOPS_SSE42 -msse4.2 -ffast-math -ftree-vectorizer-verbose=0"],
317 [have_sse42=no])
318if test "$have_sse42" = "yes"; then
319 AC_DEFINE(HAVE_SSE42,1,[Define to enable SSE42 optimizations.])
320fi
321AM_CONDITIONAL(HAVE_SSE42, test "$have_sse42" = "yes")
322AC_SUBST(SSE42_CFLAGS)
323
324# AVX support
325AC_ARG_ENABLE(avx, [AS_HELP_STRING([--enable-avx],[enable AVX optimizations])], have_avx=$enableval, have_avx=yes)
326AX_CHECK_COMPILE_FLAG(-mavx, [AVX_CFLAGS="-DOPS_AVX -mavx -ffast-math -ftree-vectorizer-verbose=0"],
327 [have_avx=no])
328if test "$have_avx" = "yes"; then
329 AC_DEFINE(HAVE_AVX,1,[Define to enable AVX optimizations.])
330fi
331AM_CONDITIONAL(HAVE_AVX, test "$have_avx" = "yes")
332AC_SUBST(AVX_CFLAGS)
333
334
335# AVX2 support
336AC_ARG_ENABLE(avx2, [AS_HELP_STRING([--enable-avx2],[enable AVX2 optimizations])], have_avx2=$enableval, have_avx2=yes)
337AX_CHECK_COMPILE_FLAG(-mavx2, [AVX2_CFLAGS="-DOPS_AVX2 -mavx2 -ffast-math -ftree-vectorizer-verbose=0"],
338 [have_avx2=no])
339if test "$have_avx2" = "yes"; then
340 AC_DEFINE(HAVE_AVX2,1,[Define to enable AVX2 optimizations.])
341fi
342AM_CONDITIONAL(HAVE_AVX2, test "$have_avx2" = "yes")
343AC_SUBST(AVX2_CFLAGS)
344
345
346# FMA support
347AC_ARG_ENABLE(fma, [AS_HELP_STRING([--enable-fma],[enable FMA optimizations])], have_fma=$enableval, have_fma=yes)
348AX_CHECK_COMPILE_FLAG(-mfma, [FMA_CFLAGS="-DOPS_FMA -mfma -ffast-math -ftree-vectorizer-verbose=0"],
349 [have_fma=no])
350if test "$have_fma" = "yes"; then
351 AC_DEFINE(HAVE_FMA,1,[Define to enable FMA optimizations.])
352fi
353AM_CONDITIONAL(HAVE_FMA, test "$have_fma" = "yes")
354AC_SUBST(FMA_CFLAGS)
355
356# Hifi2EP
357AC_ARG_ENABLE(hifi2ep, [AS_HELP_STRING([--enable-hifi2ep],[enable HiFi2EP optimizations])], have_hifi2ep=$enableval, have_hifi2ep=yes)
358AX_CHECK_COMPILE_FLAG(-mhifi2ep, [FMA_CFLAGS="-DOPS_HIFI2EP -mhifi2ep -ffast-math -ftree-vectorizer-verbose=0"],
359 [have_hifi2ep=no])
360if test "$have_hifi2ep" = "yes"; then
361 AC_DEFINE(HAVE_HIFI2EP,1,[Define to enable Hifi2 EP optimizations.])
362fi
363AM_CONDITIONAL(HAVE_HIFI2EP, test "$have_hifi2ep" = "yes")
364AC_SUBST(HIFI2EP_CFLAGS)
365
366# Hifi3
367AC_ARG_ENABLE(hifi3, [AS_HELP_STRING([--enable-hifi3],[enable HiFi3 optimizations])], have_hifi3=$enableval, have_hifi3=yes)
368AX_CHECK_COMPILE_FLAG(-mhihi3, [FMA_CFLAGS="-DOPS_HIFI3 -mhifi3 -ffast-math -ftree-vectorizer-verbose=0"],
369 [have_hifi3=no])
370if test "$have_hifi3" = "yes"; then
371 AC_DEFINE(HAVE_HIFI3,1,[Define to enable Hifi3 optimizations.])
372fi
373AM_CONDITIONAL(HAVE_HIFI3, test "$have_hifi3" = "yes")
374AC_SUBST(HIFI3_CFLAGS)
375
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100376# Test after CFLAGS set othewise test of cross compiler fails.
377AM_PROG_AS
378AM_PROG_AR
379AC_PROG_CC
380LT_INIT
381AC_CHECK_TOOL([OBJCOPY], [objcopy], [])
382AC_CHECK_TOOL([OBJDUMP], [objdump], [])
383
Liam Girdwood05ef4342018-02-13 20:29:40 +0000384# Check for openssl - used by rimage
385AC_CHECK_LIB([crypto], [OPENSSL_config], , [have_openssl="no"])
386if test "$have_rimage" = "yes"; then
387 if test "$have_openssl" = "no"; then
388 AC_MSG_ERROR([Need OpenSSL libcrypto for rimage code signing])
389 fi
390fi
391
Pan Xiuli408d9352018-06-10 15:32:24 +0800392if test "x$prefix" == "xNONE"; then
Liam Girdwood05ef4342018-02-13 20:29:40 +0000393PEM_KEY_PREFIX="/usr/local/share/rimage"
Pan Xiuli408d9352018-06-10 15:32:24 +0800394else
395PEM_KEY_PREFIX=$prefix"/share/rimage"
396fi
Liam Girdwood05ef4342018-02-13 20:29:40 +0000397AC_DEFINE_UNQUOTED([PEM_KEY_PREFIX], ["$PEM_KEY_PREFIX"], ["Path for PEM keys"])
398AC_SUBST(PEM_KEY_PREFIX)
399
Liam Girdwooda1977152018-04-13 15:33:57 +0100400# Check for doxygen and graphviz - used by make doc
401AC_CHECK_PROG(have_doxygen, doxygen, true, false)
402if test "$have_doxygen" = "false"; then
403 AC_MSG_WARN([Need doxygen to build documentation])
404fi
405AC_CHECK_PROG(have_graphviz, dot, true, false)
406if test "$have_graphviz" = "false"; then
407 AC_MSG_WARN([Need graphviz to build documentation])
408fi
409
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200410# Check for compiler type
411AM_CONDITIONAL(XCC, test "$CC" = "xt-xcc")
412
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100413AM_EXTRA_RECURSIVE_TARGETS([bin])
414
415AM_EXTRA_RECURSIVE_TARGETS([vminstall])
416
417AC_CONFIG_FILES([
418 Makefile
Liam Girdwood05ef4342018-02-13 20:29:40 +0000419 rimage/Makefile
420 rimage/keys/Makefile
Marcin Maka6aee21b2018-04-13 13:03:42 +0200421 doc/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100422 src/Makefile
423 src/tasks/Makefile
424 src/init/Makefile
425 src/arch/Makefile
426 src/arch/xtensa/Makefile
427 src/arch/xtensa/include/Makefile
Liam Girdwoodb14e8522018-01-10 17:36:41 +0000428 src/arch/xtensa/include/arch/Makefile
429 src/arch/xtensa/include/xtensa/Makefile
430 src/arch/xtensa/include/xtensa/config/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100431 src/arch/xtensa/hal/Makefile
432 src/arch/xtensa/xtos/Makefile
Ranjani Sridharan05058232018-01-24 22:42:38 -0800433 src/arch/host/Makefile
434 src/arch/host/include/Makefile
435 src/arch/host/include/arch/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100436 src/audio/Makefile
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200437 src/math/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100438 src/drivers/Makefile
439 src/include/Makefile
Pierre-Louis Bossart81708a52018-04-04 18:46:50 -0500440 src/include/sof/Makefile
441 src/include/sof/audio/Makefile
442 src/include/sof/audio/coefficients/Makefile
443 src/include/sof/audio/coefficients/src/Makefile
444 src/include/sof/math/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100445 src/include/uapi/Makefile
446 src/ipc/Makefile
Ranjani Sridharan05058232018-01-24 22:42:38 -0800447 src/library/Makefile
448 src/library/include/Makefile
449 src/library/include/platform/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100450 src/lib/Makefile
Ranjani Sridharana169fa32018-05-31 19:29:08 -0700451 src/host/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100452 src/platform/Makefile
453 src/platform/baytrail/Makefile
454 src/platform/baytrail/include/Makefile
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200455 src/platform/baytrail/include/arch/Makefile
456 src/platform/baytrail/include/arch/xtensa/Makefile
457 src/platform/baytrail/include/arch/xtensa/config/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100458 src/platform/baytrail/include/platform/Makefile
Liam Girdwood095c9072018-01-23 14:53:00 +0000459 src/platform/apollolake/Makefile
460 src/platform/apollolake/include/Makefile
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200461 src/platform/apollolake/include/arch/Makefile
462 src/platform/apollolake/include/arch/xtensa/Makefile
463 src/platform/apollolake/include/arch/xtensa/config/Makefile
Liam Girdwood095c9072018-01-23 14:53:00 +0000464 src/platform/apollolake/include/platform/Makefile
Liam Girdwoodf198ad92018-01-21 23:48:35 +0000465 src/platform/haswell/Makefile
466 src/platform/haswell/include/Makefile
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200467 src/platform/haswell/include/arch/Makefile
468 src/platform/haswell/include/arch/xtensa/Makefile
469 src/platform/haswell/include/arch/xtensa/config/Makefile
Liam Girdwoodf198ad92018-01-21 23:48:35 +0000470 src/platform/haswell/include/platform/Makefile
Liam Girdwood17c6bcf2018-01-23 15:44:08 +0000471 src/platform/cannonlake/Makefile
472 src/platform/cannonlake/include/Makefile
Tomasz Lauda80f3d472018-06-05 18:25:37 +0200473 src/platform/cannonlake/include/arch/Makefile
474 src/platform/cannonlake/include/arch/xtensa/Makefile
475 src/platform/cannonlake/include/arch/xtensa/config/Makefile
Liam Girdwood17c6bcf2018-01-23 15:44:08 +0000476 src/platform/cannonlake/include/platform/Makefile
Tomasz Lauda14ca1fa2018-06-19 16:55:34 +0200477 src/platform/intel/Makefile
478 src/platform/intel/include/Makefile
479 src/platform/intel/include/platform/Makefile
480 src/platform/intel/include/platform/cavs/Makefile
Janusz Jankowskid6d9efb2018-06-11 10:31:30 +0200481 test/Makefile
482 test/cmocka/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100483])
Janusz Jankowskid6d9efb2018-06-11 10:31:30 +0200484AC_REQUIRE_AUX_FILE([tap-driver.sh])
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100485AC_OUTPUT
486
487echo "
488---{ $PACKAGE_NAME $VERSION }---
489
490Target Architecture: ${ARCH}
491Target Platform: ${PLATFORM}
Sebastien Guiriecca23f512016-11-02 08:44:19 +0100492Target Core: ${XTENSA_CORE}
Pan Xiuli408d9352018-06-10 15:32:24 +0800493Install Prefix: ${prefix}
Liam Girdwood05ef4342018-02-13 20:29:40 +0000494PEM: ${PEM_KEY_PREFIX}
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100495
496Compiler: ${CC}
Pan Xiuli6fd219c2018-06-19 18:02:45 +0800497OBJCOPY: ${OBJCOPY}
498OBJDUMP: ${OBJDUMP}
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100499CFLAGS: ${CFLAGS}
500LDFLAGS: ${LDFLAGS}
501ARCH_CFLAGS: ${ARCH_CFLAGS}
502ARCH_LDFLAGS: ${ARCH_LDFLAGS}
Janusz Jankowski17c929e2018-07-06 13:58:47 +0200503A@&t@M_CFLAGS: ${AM_CFLAGS}
504A@&t@M_LDFLAGS: ${AM_LDFLAGS}
505A@&t@M_CCASFLAGS: ${AM_CCASFLAGS}
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100506"
507