4 AC_CONFIG_HEADER(sdccconf.h:sdccconf_in.h)
8 AC_MSG_CHECKING(version of the package)
9 if test -f .version; then
10 VERSION=`cat .version`
11 elif test -f ../.version; then
12 VERSION=`cat ../.version`
16 VERSIONHI=`echo $VERSION|$AWK 'BEGIN {FS="."} {print $1}'`
17 VERSIONLO=`echo $VERSION|$AWK 'BEGIN {FS="."} {print $2}'`
18 VERSIONP=`echo $VERSION|$AWK 'BEGIN {FS="."} {print $3}'`
19 AC_MSG_RESULT(${VERSION})
24 AC_DEFINE_UNQUOTED(SDCC_VERSION_LO, ${VERSIONLO})
25 AC_DEFINE_UNQUOTED(SDCC_VERSION_HI, ${VERSIONHI})
26 AC_DEFINE_UNQUOTED(SDCC_VERSION_P, ${VERSIONP})
27 AC_DEFINE_UNQUOTED(SDCC_VERSION_STR, "${VERSION}")
28 sdcc_cv_version=$VERSION
29 sdcc_cv_versionhi=$VERSIONHI
30 sdcc_cv_versionlo=$VERSIONLO
31 sdcc_cv_versionp=$VERSIONP
41 AC_CHECK_PROG(YACC, bison, bison -y, :)
42 AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, :)
43 AC_CHECK_PROG(AS, as, as, :)
44 AC_CHECK_PROG(CP, cp, cp, :)
46 AC_DEFUN(SDCC_REQUIRE_PROG,
47 [if test "$1" = ":"; then
48 AC_MSG_ERROR([Cannot find required program $2.])
52 SDCC_REQUIRE_PROG($YACC, bison)
53 SDCC_REQUIRE_PROG($LEX, lex)
57 # Checking for header files.
58 # ===========================================================================
60 AC_CHECK_HEADERS(getopt.h)
61 AC_CHECK_HEADERS(unistd.h)
62 AC_CHECK_HEADERS(endian.h)
63 AC_CHECK_HEADERS(malloc.h)
64 AC_CHECK_HEADERS(sys/isa_defs.h)
65 AC_CHECK_HEADERS(sys/socket.h)
68 # This must be after CPP
70 AC_CACHE_CHECK(which header file defines FD_ macros, s51_cv_fd,
76 #endif], sdcc_cv_fd="<sys/time.h>")
78 #include <sys/types.h>
81 #endif], sdcc_cv_fd="<sys/types.h>")
83 #include <sys/select.h>
86 #endif], sdcc_cv_fd="<sys/types.h>")])
88 AC_DEFINE(FD_HEADER_OK, 0)
89 if echo $sdcc_cv_fd|grep time >/dev/null 2>&1; then
90 AC_DEFINE(FD_NEED_TIME_H, 1)
91 AC_DEFINE(FD_HEADER_OK, 1)
93 AC_DEFINE(FD_NEED_TIME_H, 0)
95 if echo $sdcc_cv_fd|grep types >/dev/null 2>&1; then
96 AC_DEFINE(FD_NEED_TYPES_H, 1)
97 AC_DEFINE(FD_HEADER_OK, 1)
99 AC_DEFINE(FD_NEED_TYPES_H, 0)
101 if echo $sdcc_cv_fd|grep select >/dev/null 2>&1; then
102 AC_DEFINE(FD_NEED_SELECT_H, 1)
103 AC_DEFINE(FD_HEADER_OK, 1)
105 AC_DEFINE(FD_NEED_SELECT_H, 0)
108 AC_DEFINE_UNQUOTED(HEADER_FD, ${sdcc_cv_fd})
111 # Checking for functions
112 # ===========================================================================
113 AC_CHECK_FUNCS(strlen strcpy strcat strstr strcmp strerror strtok strdup)
114 AC_CHECK_FUNCS(strchr memcpy)
115 dnl AC_CHECK_FUNCS(getline)
116 dnl AC_CHECK_FUNCS(getdelim)
117 AC_CHECK_FUNCS(fgets)
118 AC_CHECK_FUNCS(yylex)
120 # check if -lsocket && -lxnet is required to compile socket stuff
121 AC_SEARCH_LIBS(socket,socket)
122 AC_SEARCH_LIBS(inet_addr,nsl xnet)
127 # DD_COPT macro checks if the compiler specified as the 1st parameter
128 # supports option specified as the 2nd parameter
129 # For example: DD_CPORT(CXX, fPIC)
132 AC_CACHE_CHECK(whether $$1 accepts -$2,sdcc_cv_$1$2,
137 $$1 -v -$2 -c _test_.c 1>&5 2>&5
138 if test "$?" = "0"; then
143 rm -f _test_.* a.out)
147 # Checking characteristics of compilers and other programs
148 # --------------------------------------------------------
149 AC_CACHE_CHECK(whether preprocessor accepts -MM or -M,sdcc_cv_MM,
150 echo "#include <stdio.h>" >_test_.c
152 $CPP -v -MM _test_.c 1>&5 2>&5
153 if test "$?" = "0"; then
162 # This is the first time when CFLAGS are set/modified!!
164 if test "$sdcc_cv_CCggdb" = "yes"; then
169 if test "$sdcc_cv_CCpipe" = "yes"; then
170 CFLAGS="$CFLAGS -pipe"
174 # Checks for typedefs, structures, and compiler characteristics.
175 # ===========================================================================
180 if test "${prefix}" = "NONE"; then
185 if test "${datadir}" = "\${prefix}/share"; then
186 sdcc_datadir=${prefix}/share
188 sdcc_datadir=${datadir}
190 AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${sdcc_datadir}/include")
191 AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${sdcc_datadir}/include")
192 AC_DEFINE_UNQUOTED(SDCC_LIB_DIR, "${sdcc_datadir}/lib")
193 AC_DEFINE_UNQUOTED(STD_LIB, "libsdcc")
194 AC_DEFINE_UNQUOTED(STD_INT_LIB, "libint")
195 AC_DEFINE_UNQUOTED(STD_LONG_LIB, "liblong")
196 AC_DEFINE_UNQUOTED(STD_FP_LIB, "libfloat")
197 AC_DEFINE_UNQUOTED(STD_DS390_LIB, "libds390")
199 AC_DEFINE_UNQUOTED(PREFIX, "${prefix}")
200 AC_DEFINE_UNQUOTED(DATADIR, "${sdcc_datadir}")
201 AC_DEFINE_UNQUOTED(SRCDIR, "${config_in}")
204 # Now handle the port selection
205 AC_ARG_ENABLE(z80-port,--disable-z80-port: Excludes the z80 port)
206 if test "$enable_z80_port" = "no"; then
207 AC_DEFINE_UNQUOTED(OPT_DISABLE_Z80, 1)
209 AC_DEFINE_UNQUOTED(OPT_DISABLE_Z80, 0)
212 AC_ARG_ENABLE(gbz80-port,--disable-gbz80-port: Excludes the Gameboy gbz80 port)
213 if test "$enable_gbz80_port" = "no"; then
214 AC_DEFINE_UNQUOTED(OPT_DISABLE_GBZ80, 1)
216 AC_DEFINE_UNQUOTED(OPT_DISABLE_GBZ80, 0)
219 AC_ARG_ENABLE(mcs51-port,--disable-mcs51-port: Excludes the Intel mcs51 port)
220 if test "$enable_mcs51_port" = "no"; then
221 AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 1)
223 AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 0)
226 AC_ARG_ENABLE(avr-port,--disable-avr-port: Excludes the AVR port)
227 if test "$enable_avr_port" = "no"; then
228 AC_DEFINE_UNQUOTED(OPT_DISABLE_AVR, 1)
230 AC_DEFINE_UNQUOTED(OPT_DISABLE_AVR, 0)
233 # Generating output files
234 # ===========================================================================
235 AC_CONFIG_SUBDIRS(sim/ucsim)
236 AC_CONFIG_SUBDIRS(packihx)
237 # MLH: removed as the rules are already in Makefile.common
240 AC_OUTPUT(main.mk:main_in.mk
244 device/include/Makefile
246 debugger/mcs51/Makefile
247 Makefile.common:Makefile.common.in
250 # End of configure/configure.in