blob: 091cc693e87ca1d72daad48339d415ae5d759780 [file] [log] [blame]
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +01001AC_PREREQ([2.69])
Liam Girdwood5f5d7c22017-11-26 08:14:02 +08002AC_INIT([Reef],[m4_esyscmd(./git-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
Liam Girdwood77bc0652016-12-22 16:01:21 +000012m4_define(reef_major, `cat .version | cut -dv -f2 | cut -d. -f1`)
13m4_define(reef_minor, `cat .version | cut -d. -f2 | cut -d- -f1`)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010014AC_DEFINE_UNQUOTED([REEF_MAJOR], reef_major, [Reef major version])
15AC_DEFINE_UNQUOTED([REEF_MINOR], reef_minor, [Reef minor version])
16
17AC_CANONICAL_HOST
18
19# General compiler flags
Pierre-Louis Bossartd46dd352017-09-25 14:55:09 -050020CFLAGS="${CFLAGS:+$CFLAGS } -O2 -g -Wall -Werror -Wl,-EL -fno-inline-functions -nostdlib -Wmissing-prototypes"
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010021
22# Cross compiler tool libgcc and headers
Liam Girdwood8855ce52016-10-18 17:18:16 +010023AC_ARG_WITH([root-dir],
24 AS_HELP_STRING([--with-root-dir], [Specify location of cross gcc libraries and headers]),
25 [], [with_root_dir=no])
26AS_IF([test "x$with_root_dir" = xno],
27 AC_MSG_ERROR([Please specify cross compiler root header directory]),
28 [ROOT_DIR=$with_root_dir])
29AC_SUBST(ROOT_DIR)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010030
31# Architecture support
32AC_ARG_WITH([arch],
33 AS_HELP_STRING([--with-arch], [Specify DSP architecture]),
34 [], [with_arch=no])
35
36case "$with_arch" in
37 xtensa*)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010038
39 ARCH_CFLAGS="-mtext-section-literals"
40 AC_SUBST(ARCH_CFLAGS)
41
42 ARCH_LDFLAGS="-nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static"
43 AC_SUBST(XTENSA_LDFLAGS)
44
45 # extra CFLAGS defined here otherwise configure working gcc tests fails.
46 CFLAGS="${CFLAGS:+$CFLAGS }-mlongcalls"
47 LDFLAGS="${LDFLAGS:+$LDFLAGS }-nostdlib"
48
49 #ARCH_ASFLAGS=""
50 AC_SUBST(ARCH_ASFLAGS)
51
52 ARCH="xtensa"
53 AC_SUBST(ARCH)
54 ;;
55 *)
56 AC_MSG_ERROR([DSP architecture not specified])
57 ;;
58esac
59
Liam Girdwood2eab4672017-11-27 05:24:51 +080060AM_CONDITIONAL(BUILD_XTENSA, test "$ARCH" = "xtensa")
61
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010062
63# Platform support
64AC_ARG_WITH([platform],
65 AS_HELP_STRING([--with-platform], [Specify Host Platform]),
66 [], [with_platform=no])
67
68case "$with_platform" in
69 baytrail*)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010070
71 PLATFORM_LDSCRIPT="baytrail.x"
72 AC_SUBST(PLATFORM_LDSCRIPT)
73
74 PLATFORM="baytrail"
75 AC_SUBST(PLATFORM)
76
77 FW_NAME="byt"
78 AC_SUBST(FW_NAME)
79
80 XTENSA_CORE="hifi2_std"
81 AC_SUBST(XTENSA_CORE)
82
83 AC_DEFINE([CONFIG_BAYTRAIL], [1], [Configure for Baytrail])
84 ;;
85 cherrytrail*)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010086
87 PLATFORM_LDSCRIPT="baytrail.x"
88 AC_SUBST(PLATFORM_LDSCRIPT)
89
90 PLATFORM="baytrail"
91 AC_SUBST(PLATFORM)
92
93 FW_NAME="cht"
94 AC_SUBST(FW_NAME)
95
96 XTENSA_CORE="hifi2_std"
97 AC_SUBST(XTENSA_CORE)
98
99 AC_DEFINE([CONFIG_CHERRYTRAIL], [1], [Configure for Cherrytrail])
100 ;;
101 *)
102 AC_MSG_ERROR([Host platform not specified])
103 ;;
104esac
105
Liam Girdwood2eab4672017-11-27 05:24:51 +0800106AM_CONDITIONAL(BUILD_BAYTRAIL, test "$FW_NAME" = "byt")
107AM_CONDITIONAL(BUILD_CHERRYTRAIL, test "$FW_NAME" = "cht")
108AM_CONDITIONAL(BUILD_HASWELL, test "$FW_NAME" = "hsw")
109AM_CONDITIONAL(BUILD_BROADWELL, test "$FW_NAME" = "bdw")
110AM_CONDITIONAL(BUILD_APOLLOLAKE, test "$FW_NAME" = "apl")
Sebastien Guiriecca23f512016-11-02 08:44:19 +0100111# DSP core support (Optional)
112AC_ARG_WITH([dsp-core],
113 AS_HELP_STRING([--with-dsp-core], [Specify DSP Core]),
114 [], [with_dsp_core=no])
115
116case "$with_dsp_core" in
117 CHT_audio_hifiep*)
118 # BXT/CHT DSP Core
119 XTENSA_CORE="CHT_audio_hifiep"
120 AC_SUBST(XTENSA_CORE)
121 ;;
122
123esac
124
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100125# Test after CFLAGS set othewise test of cross compiler fails.
126AM_PROG_AS
127AM_PROG_AR
128AC_PROG_CC
129LT_INIT
130AC_CHECK_TOOL([OBJCOPY], [objcopy], [])
131AC_CHECK_TOOL([OBJDUMP], [objdump], [])
132
133AM_EXTRA_RECURSIVE_TARGETS([bin])
134
135AM_EXTRA_RECURSIVE_TARGETS([vminstall])
136
137AC_CONFIG_FILES([
138 Makefile
139 src/Makefile
140 src/tasks/Makefile
141 src/init/Makefile
142 src/arch/Makefile
143 src/arch/xtensa/Makefile
144 src/arch/xtensa/include/Makefile
145 src/arch/xtensa/hal/Makefile
146 src/arch/xtensa/xtos/Makefile
147 src/audio/Makefile
Seppo Ingalsuo6a274832017-06-07 14:17:55 +0300148 src/math/Makefile
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100149 src/drivers/Makefile
150 src/include/Makefile
151 src/include/reef/Makefile
152 src/include/reef/audio/Makefile
153 src/include/uapi/Makefile
154 src/ipc/Makefile
155 src/lib/Makefile
156 src/platform/Makefile
157 src/platform/baytrail/Makefile
158 src/platform/baytrail/include/Makefile
159 src/platform/baytrail/include/platform/Makefile
160 src/platform/baytrail/include/xtensa/Makefile
161 src/platform/baytrail/include/xtensa/config/Makefile
162])
163AC_OUTPUT
164
165echo "
166---{ $PACKAGE_NAME $VERSION }---
167
168Target Architecture: ${ARCH}
169Target Platform: ${PLATFORM}
Sebastien Guiriecca23f512016-11-02 08:44:19 +0100170Target Core: ${XTENSA_CORE}
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100171
172Compiler: ${CC}
173CFLAGS: ${CFLAGS}
174LDFLAGS: ${LDFLAGS}
175ARCH_CFLAGS: ${ARCH_CFLAGS}
176ARCH_LDFLAGS: ${ARCH_LDFLAGS}
177"
178