4 AC_CONFIG_HEADER(ddconfig.h:ddconfig_in.h)
8 AC_MSG_CHECKING(version of the package)
9 if test -f .version; then
10 VERSION=`cat .version`
11 AC_MSG_RESULT($VERSION)
14 AC_MSG_RESULT(unknown using 0.0.0)
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}'`
23 AC_DEFINE_UNQUOTED(VERSIONSTR, "${VERSION}")
24 AC_DEFINE_UNQUOTED(VERSIONHI, $VERSIONHI)
25 AC_DEFINE_UNQUOTED(VERSIONLO, $VERSIONLO)
26 AC_DEFINE_UNQUOTED(VERSIONP, $VERSIONP)
31 [ --enable-ucsim compile ucsim frontend],
32 if test $enable_ucsim != "no"; then
38 [ --enable-dlso compile dynamically loadable shared libraries],
39 if test $enable_dlso != "no"; then
44 [ --disable-51 do not compile simulator for MCS51],
45 if test $enable_51 != "no"; then
50 [ --disable-avr do not compile simulator for AVR],
51 if test $enable_avr != "no"; then
56 [ --enable-z80 compile simulator for Z80],
57 if test $enable_z80 != "no"; then
62 [ --enable-xa compile simulator for XA],
63 if test $enable_xa != "no"; then
67 AC_ARG_ENABLE(portmon,
68 [ --enable-serio compile serio GUI tool (needs curses)],
69 if test $enable_serio != "no"; then
73 AC_SUBST(enable_ucsim)
79 AC_SUBST(enable_serio)
89 AC_CHECK_PROG(STRIP, strip, strip, :)
91 # Checking for header files.
92 # ===========================================================================
94 if test -d /stuff/include; then
95 CPPFLAGS="$CPPFLAGS -I/stuff/include"
99 AC_CHECK_HEADERS(getopt.h)
100 AC_CHECK_HEADERS(unistd.h)
101 AC_CHECK_HEADER(sys/socket.h,
102 AC_DEFINE(SOCKET_AVAIL)
103 AC_DEFINE(HAVE_SYS_SOCKET_H)
104 AC_EGREP_HEADER(socklen_t,
106 AC_DEFINE_UNQUOTED(SOCKLEN_T, socklen_t),
107 AC_DEFINE_UNQUOTED(SOCKLEN_T, uint))
109 AC_CHECK_HEADER(dlfcn.h)
112 # This must be after CXXCPP
114 AC_CACHE_CHECK(which header file defines FD_ macros, ucsim_cv_fd,
115 [ucsim_cv_fd="unknown"
117 #include <sys/time.h>
120 #endif], ucsim_cv_fd="<sys/time.h>")
122 #include <sys/types.h>
125 #endif], ucsim_cv_fd="<sys/types.h>")
127 #include <sys/select.h>
130 #endif], ucsim_cv_fd="<sys/types.h>")])
132 AC_DEFINE(FD_HEADER_OK, 0)
133 if echo $ucsim_cv_fd|grep time >/dev/null 2>&1; then
134 AC_DEFINE(FD_NEED_TIME_H, 1)
135 AC_DEFINE(FD_HEADER_OK, 1)
137 AC_DEFINE(FD_NEED_TIME_H, 0)
139 if echo $ucsim_cv_fd|grep types >/dev/null 2>&1; then
140 AC_DEFINE(FD_NEED_TYPES_H, 1)
141 AC_DEFINE(FD_HEADER_OK, 1)
143 AC_DEFINE(FD_NEED_TYPES_H, 0)
145 if echo $ucsim_cv_fd|grep select >/dev/null 2>&1; then
146 AC_DEFINE(FD_NEED_SELECT_H, 1)
147 AC_DEFINE(FD_HEADER_OK, 1)
149 AC_DEFINE(FD_NEED_SELECT_H, 0)
152 AC_DEFINE_UNQUOTED(HEADER_FD, ${ucsim_cv_fd})
155 # Checking for functions/libs
156 # ===========================================================================
157 AC_CHECK_LIB(socket,socket)
158 AC_CHECK_LIB(nsl,xdr_short)
159 AC_CHECK_LIB(dl,dlopen,
166 AC_CHECK_LIB(panel,panel_above,
169 CURSES_LIBS="-lpanel -lcurses"
172 AC_CHECK_LIB(curses,nl,
174 CURSES_LIBS="-lcurses"
181 AC_SUBST(CURSES_LIBS)
184 AC_CHECK_FUNCS(vsnprintf vasprintf)
185 AC_CHECK_FUNCS(strlen strcpy strcat strstr strcmp strerror strtok strdup)
186 AC_CHECK_FUNCS(strchr memcpy)
187 dnl AC_CHECK_FUNCS(getline)
188 dnl AC_CHECK_FUNCS(getdelim)
189 AC_CHECK_FUNCS(fgets)
190 AC_CHECK_FUNCS(yylex)
192 AC_CACHE_CHECK(whether scanf knows %a, ucsim_cv_scanf_a,
193 [echo "a b" >conftest.data
201 if ((f= fopen("conftest.data", "r")) == NULL)
203 i= fscanf(f, " %a[a-z] ", &a);
211 ucsim_cv_scanf_a="yes",
212 ucsim_cv_scanf_a="no",
213 ucsim_cv_scanf_a="unknown")
215 if test "$ucsim_cv_scanf_a" = "yes"; then
219 AC_CACHE_CHECK(whether getcwd is GNUish, ucsim_cv_getcwd,
224 if ((getcwd(NULL, 0)) == NULL)
228 ucsim_cv_getcwd="yes",
229 ucsim_cv_getcwd="no",
230 ucsim_cv_getcwd="unknown")
232 if test "$ucsim_cv_getcwd" = "yes"; then
233 AC_DEFINE(GNU_GETCWD)
236 AC_DEFUN(ucsim_ACCEPT_LENGTH_T,
237 [AC_CACHE_CHECK([for type of length pointer parameter of accept],
238 ucsim_cv_accept_length_type,
239 [ac_save_CPPFLAGS="$CPPFLAGS"
240 ucsim_cv_accept_length_type=no
241 for ac_val in int size_t socklen_t; do
242 CPPFLAGS="$ac_save_CPPFLAGS -DACCEPT_SOCKLEN_T=$ac_val"
243 AC_TRY_COMPILE([#include <sys/types.h>
244 #include <sys/socket.h>],
245 [struct sockaddr a; $ac_val len; accept (0, &a, &len);],
246 [ucsim_cv_accept_length_type=$ac_val; break])
248 CPPFLAGS="$ac_save_CPPFLAGS"])
249 if test "$ucsim_cv_accept_length_type" != no; then
250 AC_DEFINE_UNQUOTED(ACCEPT_SOCKLEN_T, $ucsim_cv_accept_length_type,
251 [Define to be the type of length parameter of accept (without the \*').])
257 ucsim_ACCEPT_LENGTH_T
262 # DD_COPT macro checks if the compiler specified as the 1st parameter
263 # supports option specified as the 2nd parameter
264 # For example: DD_COPT(CXX, fPIC)
267 AC_CACHE_CHECK(whether $$1 accepts -$2,ucsim_cv_$1$2,
272 $$1 -v -$2 -c _test_.c 1>&5 2>&5
273 if test "$?" = "0"; then
278 rm -f _test_.* a.out)
282 # Checking characteristics of compilers and other programs
283 # --------------------------------------------------------
285 # Cross compiling overrides
287 if test "$CC" = "i586-mingw32msvc-gcc"; then
293 ac_cv_sizeof_long_long=4
296 if test "$cross_compiling" == "no"
301 if $CXX -v 2>&1|grep "mingw" >/dev/null 2>&1; then
306 #echo "CROSS ENDIAN DONE"
309 AC_CACHE_CHECK(whether preprocessor accepts -MM or -M,ucsim_cv_MM,
310 echo "#include <stdio.h>" >_test_.c
312 $CXXCPP -v -MM _test_.c 1>&5 2>&5
313 if test "$?" = "0"; then
322 # This is the first time when CFLAGS are set/modified!!
325 if test "$ucsim_cv_CXXggdb" = "yes"; then
326 if test "$CXXFLAGS"x = x ;then
329 CXXFLAGS="$CXXFLAGS -ggdb"
334 if test "$ucsim_cv_CXXpipe" = "yes"; then
335 CXXFLAGS="$CXXFLAGS -pipe"
341 if test "$ucsim_cv_CXXfPIC" = "yes"; then
345 if test "$ucsim_cv_CXXfpic" = "yes"; then
349 if test "$PICOPT"x != "x"; then
352 # If this is Cygwin neither use Position Independant Code
354 # Quick + dirty by Bernhard
356 if $CXX -v 2>&1 | grep -i cygwin 1>&5 2>&5; then
364 if test $SHAREDLIB = "yes" -a $dl_ok = "yes" -a $enable_dlso = "yes"; then
369 # Checks for typedefs, structures, and compiler characteristics.
370 # ===========================================================================
373 if test "$cross_compiling" = "no"; then
374 AC_CHECK_SIZEOF(char)
375 AC_CHECK_SIZEOF(short)
377 AC_CHECK_SIZEOF(long)
378 AC_CHECK_SIZEOF(long long)
380 if $CXX -v 2>&1|grep "mingw" >/dev/null 2>&1; then
385 ac_cv_sizeof_long_long=4
394 if expr "$ac_cv_sizeof_char" '>=' "$1" >/dev/null; then
398 if expr "$ac_cv_sizeof_short" '>=' "$1" >/dev/null; then
402 if expr "$ac_cv_sizeof_int" '>=' "$1" >/dev/null; then
406 if expr "$ac_cv_sizeof_long" '>=' "$1" >/dev/null; then
410 if expr "$ac_cv_sizeof_long_long" '>=' "$1" >/dev/null; then
417 AC_MSG_CHECKING(type name for byte)
418 TYPE_BYTE=`type_name 1`
419 AC_MSG_RESULT($TYPE_BYTE)
420 AC_MSG_CHECKING(type name for word)
421 TYPE_WORD=`type_name 2`
422 AC_MSG_RESULT($TYPE_WORD)
423 AC_MSG_CHECKING(type name for dword)
424 TYPE_DWORD=`type_name 4`
425 AC_MSG_RESULT($TYPE_DWORD)
426 AC_DEFINE_UNQUOTED(TYPE_BYTE, $TYPE_BYTE)
427 AC_DEFINE_UNQUOTED(TYPE_WORD, $TYPE_WORD)
428 AC_DEFINE_UNQUOTED(TYPE_DWORD, $TYPE_DWORD)
430 if echo $TYPE_DWORD|grep short >/dev/null; then
432 elif echo $TYPE_DWORD|grep long >/dev/null; then
438 if echo $TYPE_WORD|grep short >/dev/null; then M="h"
439 elif echo $TYPE_WORD|grep long >/dev/null; then M="l"
443 AC_DEFINE_UNQUOTED(_A_, "${A}")
444 AC_DEFINE_UNQUOTED(_M_, "${M}")
447 # Generating output files
448 # ===========================================================================
450 AC_OUTPUT(main.mk:main_in.mk
451 packages.mk:packages_in.mk
459 gui.src/serio.src/Makefile
463 #gui.src/portmon.src/Makefile
466 # End of configure/configure.in