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)
37 AC_CHECK_PROG(STRIP, strip, strip, :)
39 # Checking for header files.
40 # ===========================================================================
42 if test -d /stuff/include; then
43 CPPFLAGS="$CPPFLAGS -I/stuff/include"
47 AC_CHECK_HEADERS(getopt.h)
48 AC_CHECK_HEADERS(unistd.h)
49 AC_CHECK_HEADER(sys/socket.h,
50 AC_DEFINE(SOCKET_AVAIL)
51 AC_DEFINE(HAVE_SYS_SOCKET_H)
52 AC_EGREP_HEADER(socklen_t,
54 AC_DEFINE_UNQUOTED(SOCKLEN_T, socklen_t),
55 AC_DEFINE_UNQUOTED(SOCKLEN_T, uint))
57 AC_CHECK_HEADER(dlfcn.h)
60 # This must be after CXXCPP
62 AC_CACHE_CHECK(which header file defines FD_ macros, ucsim_cv_fd,
63 [ucsim_cv_fd="unknown"
68 #endif], ucsim_cv_fd="<sys/time.h>")
70 #include <sys/types.h>
73 #endif], ucsim_cv_fd="<sys/types.h>")
75 #include <sys/select.h>
78 #endif], ucsim_cv_fd="<sys/types.h>")])
80 AC_DEFINE(FD_HEADER_OK, 0)
81 if echo $ucsim_cv_fd|grep time >/dev/null 2>&1; then
82 AC_DEFINE(FD_NEED_TIME_H, 1)
83 AC_DEFINE(FD_HEADER_OK, 1)
85 AC_DEFINE(FD_NEED_TIME_H, 0)
87 if echo $ucsim_cv_fd|grep types >/dev/null 2>&1; then
88 AC_DEFINE(FD_NEED_TYPES_H, 1)
89 AC_DEFINE(FD_HEADER_OK, 1)
91 AC_DEFINE(FD_NEED_TYPES_H, 0)
93 if echo $ucsim_cv_fd|grep select >/dev/null 2>&1; then
94 AC_DEFINE(FD_NEED_SELECT_H, 1)
95 AC_DEFINE(FD_HEADER_OK, 1)
97 AC_DEFINE(FD_NEED_SELECT_H, 0)
100 AC_DEFINE_UNQUOTED(HEADER_FD, ${ucsim_cv_fd})
103 # Checking for functions/libs
104 # ===========================================================================
105 AC_CHECK_LIB(socket,socket)
106 AC_CHECK_LIB(nsl,xdr_short)
107 AC_CHECK_LIB(dl,dlopen,
114 AC_CHECK_LIB(panel,panel_above,
117 CURSES_LIBS="-lpanel -lcurses"
120 AC_CHECK_LIB(curses,nl,
122 CURSES_LIBS="-lcurses"
129 AC_SUBST(CURSES_LIBS)
132 AC_CHECK_FUNCS(vsnprintf vasprintf)
133 AC_CHECK_FUNCS(strlen strcpy strcat strstr strcmp strerror strtok strdup)
134 AC_CHECK_FUNCS(strchr memcpy)
135 dnl AC_CHECK_FUNCS(getline)
136 dnl AC_CHECK_FUNCS(getdelim)
137 AC_CHECK_FUNCS(fgets)
138 AC_CHECK_FUNCS(yylex)
140 AC_CACHE_CHECK(whether scanf knows %a, ucsim_cv_scanf_a,
141 [echo "a b" >conftest.data
149 if ((f= fopen("conftest.data", "r")) == NULL)
151 i= fscanf(f, " %a[a-z] ", &a);
159 ucsim_cv_scanf_a="yes",
160 ucsim_cv_scanf_a="no",
161 ucsim_cv_scanf_a="unknown")
163 if test "$ucsim_cv_scanf_a" = "yes"; then
167 AC_CACHE_CHECK(whether getcwd is GNUish, ucsim_cv_getcwd,
172 if ((getcwd(NULL, 0)) == NULL)
176 ucsim_cv_getcwd="yes",
177 ucsim_cv_getcwd="no",
178 ucsim_cv_getcwd="unknown")
180 if test "$ucsim_cv_getcwd" = "yes"; then
181 AC_DEFINE(GNU_GETCWD)
184 AC_DEFUN(ucsim_ACCEPT_LENGTH_T,
185 [AC_CACHE_CHECK([for type of length pointer parameter of accept],
186 ucsim_cv_accept_length_type,
187 [ac_save_CPPFLAGS="$CPPFLAGS"
188 ucsim_cv_accept_length_type=no
189 for ac_val in int size_t socklen_t; do
190 CPPFLAGS="$ac_save_CPPFLAGS -DACCEPT_SOCKLEN_T=$ac_val"
191 AC_TRY_COMPILE([#include <sys/types.h>
192 #include <sys/socket.h>],
193 [struct sockaddr a; $ac_val len; accept (0, &a, &len);],
194 [ucsim_cv_accept_length_type=$ac_val; break])
196 CPPFLAGS="$ac_save_CPPFLAGS"])
198 if test $ucsim_cv_accept_length_type != no; then
199 AC_DEFINE_UNQUOTED(ACCEPT_SOCKLEN_T, $ucsim_cv_accept_length_type,
200 [Define to be the type of length parameter of accept (without the \*').])
206 ucsim_ACCEPT_LENGTH_T
211 # DD_COPT macro checks if the compiler specified as the 1st parameter
212 # supports option specified as the 2nd parameter
213 # For example: DD_COPT(CXX, fPIC)
216 AC_CACHE_CHECK(whether $$1 accepts -$2,ucsim_cv_$1$2,
221 $$1 -v -$2 -c _test_.c 1>&5 2>&5
222 if test "$?" = "0"; then
227 rm -f _test_.* a.out)
231 # Checking characteristics of compilers and other programs
232 # --------------------------------------------------------
234 # Cross compiling overrides
235 if test "$CC" = "i586-mingw32msvc-gcc"; then
241 ac_cv_sizeof_long_long=4
245 AC_CACHE_CHECK(whether preprocessor accepts -MM or -M,ucsim_cv_MM,
246 echo "#include <stdio.h>" >_test_.c
248 $CXXCPP -v -MM _test_.c 1>&5 2>&5
249 if test "$?" = "0"; then
258 # This is the first time when CFLAGS are set/modified!!
261 if test "$ucsim_cv_CXXggdb" = "yes"; then
262 if test "$CXXFLAGS"x = x ;then
265 CXXFLAGS="$CXXFLAGS -ggdb"
270 if test "$ucsim_cv_CXXpipe" = "yes"; then
271 CXXFLAGS="$CXXFLAGS -pipe"
277 if test "$ucsim_cv_CXXfPIC" = "yes"; then
281 if test "$ucsim_cv_CXXfpic" = "yes"; then
285 if test "$PICOPT"x != "x"; then
288 # If this is Cygwin neither use Position Independant Code
290 # Quick + dirty by Bernhard
291 if $CXX -v 2>&1 | grep -i cygwin 1>&5 2>&5; then
299 # Checks for typedefs, structures, and compiler characteristics.
300 # ===========================================================================
304 AC_CHECK_SIZEOF(char)
305 AC_CHECK_SIZEOF(short)
307 AC_CHECK_SIZEOF(long)
308 AC_CHECK_SIZEOF(long long)
312 if expr "$ac_cv_sizeof_char" '>=' "$1" >/dev/null; then
316 if expr "$ac_cv_sizeof_short" '>=' "$1" >/dev/null; then
320 if expr "$ac_cv_sizeof_int" '>=' "$1" >/dev/null; then
324 if expr "$ac_cv_sizeof_long" '>=' "$1" >/dev/null; then
328 if expr "$ac_cv_sizeof_long_long" '>=' "$1" >/dev/null; then
335 AC_MSG_CHECKING(type name for byte)
336 TYPE_BYTE=`type_name 1`
337 AC_MSG_RESULT($TYPE_BYTE)
338 AC_MSG_CHECKING(type name for word)
339 TYPE_WORD=`type_name 2`
340 AC_MSG_RESULT($TYPE_WORD)
341 AC_MSG_CHECKING(type name for dword)
342 TYPE_DWORD=`type_name 4`
343 AC_MSG_RESULT($TYPE_DWORD)
344 AC_DEFINE_UNQUOTED(TYPE_BYTE, $TYPE_BYTE)
345 AC_DEFINE_UNQUOTED(TYPE_WORD, $TYPE_WORD)
346 AC_DEFINE_UNQUOTED(TYPE_DWORD, $TYPE_DWORD)
348 # Generating output files
349 # ===========================================================================
351 AC_OUTPUT(main.mk:main_in.mk
358 gui.src/serio.src/Makefile
362 #gui.src/portmon.src/Makefile
365 # End of configure/configure.in