blob: 71e7795d7a34fe2c7fe94981164dc13350696ee7 [file] [log] [blame]
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +01001
2AC_PREREQ([2.69])
Liam Girdwood419b0862016-10-17 15:23:50 +01003AC_INIT([Reef],[m4_esyscmd(./git-version-gen .tarball-version)],[sound-open-firmware@alsa-project.org])
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +01004AC_CONFIG_SRCDIR([src/init/init.c])
5AC_CONFIG_HEADERS([src/include/config.h])
6AC_CONFIG_MACRO_DIRS([m4])
7AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability subdir-objects silent-rules color-tests dist-xz tar-ustar])
8
9# Initialize maintainer mode
10AM_MAINTAINER_MODE([enable])
11
12# get version info from git
13m4_define(reef_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
14m4_define(reef_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
15AC_DEFINE_UNQUOTED([REEF_MAJOR], reef_major, [Reef major version])
16AC_DEFINE_UNQUOTED([REEF_MINOR], reef_minor, [Reef minor version])
17
18AC_CANONICAL_HOST
19
20# General compiler flags
21CFLAGS="${CFLAGS:+$CFLAGS } -O2 -g -Wall -Werror -Wl,-EL -fno-inline-functions -nostdlib"
22
23# Cross compiler tool libgcc and headers
Liam Girdwood8855ce52016-10-18 17:18:16 +010024AC_ARG_WITH([root-dir],
25 AS_HELP_STRING([--with-root-dir], [Specify location of cross gcc libraries and headers]),
26 [], [with_root_dir=no])
27AS_IF([test "x$with_root_dir" = xno],
28 AC_MSG_ERROR([Please specify cross compiler root header directory]),
29 [ROOT_DIR=$with_root_dir])
30AC_SUBST(ROOT_DIR)
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +010031
32# Architecture support
33AC_ARG_WITH([arch],
34 AS_HELP_STRING([--with-arch], [Specify DSP architecture]),
35 [], [with_arch=no])
36
37case "$with_arch" in
38 xtensa*)
39 AM_CONDITIONAL(BUILD_XTENSA, true)
40
41 ARCH_CFLAGS="-mtext-section-literals"
42 AC_SUBST(ARCH_CFLAGS)
43
44 ARCH_LDFLAGS="-nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static"
45 AC_SUBST(XTENSA_LDFLAGS)
46
47 # extra CFLAGS defined here otherwise configure working gcc tests fails.
48 CFLAGS="${CFLAGS:+$CFLAGS }-mlongcalls"
49 LDFLAGS="${LDFLAGS:+$LDFLAGS }-nostdlib"
50
51 #ARCH_ASFLAGS=""
52 AC_SUBST(ARCH_ASFLAGS)
53
54 ARCH="xtensa"
55 AC_SUBST(ARCH)
56 ;;
57 *)
58 AC_MSG_ERROR([DSP architecture not specified])
59 ;;
60esac
61
62
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*)
70 AM_CONDITIONAL(BUILD_BAYTRAIL, true)
71 AM_CONDITIONAL(BUILD_CHERRYTRAIL, false)
72 AM_CONDITIONAL(BUILD_HASWELL, false)
73 AM_CONDITIONAL(BUILD_BROADWELL, false)
74 AM_CONDITIONAL(BUILD_BROXTON, false)
75
76 PLATFORM_LDSCRIPT="baytrail.x"
77 AC_SUBST(PLATFORM_LDSCRIPT)
78
79 PLATFORM="baytrail"
80 AC_SUBST(PLATFORM)
81
82 FW_NAME="byt"
83 AC_SUBST(FW_NAME)
84
85 XTENSA_CORE="hifi2_std"
86 AC_SUBST(XTENSA_CORE)
87
88 AC_DEFINE([CONFIG_BAYTRAIL], [1], [Configure for Baytrail])
89 ;;
90 cherrytrail*)
91 AM_CONDITIONAL(BUILD_BAYTRAIL, false)
92 AM_CONDITIONAL(BUILD_CHERRYTRAIL, true)
93 AM_CONDITIONAL(BUILD_HASWELL, false)
94 AM_CONDITIONAL(BUILD_BROADWELL, false)
95 AM_CONDITIONAL(BUILD_BROXTON, false)
96
97 PLATFORM_LDSCRIPT="baytrail.x"
98 AC_SUBST(PLATFORM_LDSCRIPT)
99
100 PLATFORM="baytrail"
101 AC_SUBST(PLATFORM)
102
103 FW_NAME="cht"
104 AC_SUBST(FW_NAME)
105
106 XTENSA_CORE="hifi2_std"
107 AC_SUBST(XTENSA_CORE)
108
109 AC_DEFINE([CONFIG_CHERRYTRAIL], [1], [Configure for Cherrytrail])
110 ;;
111 *)
112 AC_MSG_ERROR([Host platform not specified])
113 ;;
114esac
115
Sebastien Guiriecca23f512016-11-02 08:44:19 +0100116# DSP core support (Optional)
117AC_ARG_WITH([dsp-core],
118 AS_HELP_STRING([--with-dsp-core], [Specify DSP Core]),
119 [], [with_dsp_core=no])
120
121case "$with_dsp_core" in
122 CHT_audio_hifiep*)
123 # BXT/CHT DSP Core
124 XTENSA_CORE="CHT_audio_hifiep"
125 AC_SUBST(XTENSA_CORE)
126 ;;
127
128esac
129
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100130# Test after CFLAGS set othewise test of cross compiler fails.
131AM_PROG_AS
132AM_PROG_AR
133AC_PROG_CC
134LT_INIT
135AC_CHECK_TOOL([OBJCOPY], [objcopy], [])
136AC_CHECK_TOOL([OBJDUMP], [objdump], [])
137
138AM_EXTRA_RECURSIVE_TARGETS([bin])
139
140AM_EXTRA_RECURSIVE_TARGETS([vminstall])
141
142AC_CONFIG_FILES([
143 Makefile
144 src/Makefile
145 src/tasks/Makefile
146 src/init/Makefile
147 src/arch/Makefile
148 src/arch/xtensa/Makefile
149 src/arch/xtensa/include/Makefile
150 src/arch/xtensa/hal/Makefile
151 src/arch/xtensa/xtos/Makefile
152 src/audio/Makefile
153 src/drivers/Makefile
154 src/include/Makefile
155 src/include/reef/Makefile
156 src/include/reef/audio/Makefile
157 src/include/uapi/Makefile
158 src/ipc/Makefile
159 src/lib/Makefile
160 src/platform/Makefile
161 src/platform/baytrail/Makefile
162 src/platform/baytrail/include/Makefile
163 src/platform/baytrail/include/platform/Makefile
164 src/platform/baytrail/include/xtensa/Makefile
165 src/platform/baytrail/include/xtensa/config/Makefile
166])
167AC_OUTPUT
168
169echo "
170---{ $PACKAGE_NAME $VERSION }---
171
172Target Architecture: ${ARCH}
173Target Platform: ${PLATFORM}
Sebastien Guiriecca23f512016-11-02 08:44:19 +0100174Target Core: ${XTENSA_CORE}
Liam Girdwoodc0dfb4e2016-09-21 15:57:22 +0100175
176Compiler: ${CC}
177CFLAGS: ${CFLAGS}
178LDFLAGS: ${LDFLAGS}
179ARCH_CFLAGS: ${ARCH_CFLAGS}
180ARCH_LDFLAGS: ${ARCH_LDFLAGS}
181"
182