1AC_INIT([scmxx],[0.9.0],[Hendrik Sattler <post@hendrik-sattler.de>])
2AC_REVISION($Revision: 529 $)
3AC_PREREQ(2.59)
4AC_CONFIG_HEADER([src/config.h src/timeincl.h src/intincl.h src/gtincl.h])
5
6AC_CANONICAL_HOST
7CFLAGS="${CFLAGS} -D_GNU_SOURCE -D_REENTRANT -W -Wall -Wno-format-y2k"
8CPPFLAGS="${CPPFLAGS} ${CFLAGS}"
9AC_PROG_CC
10AC_PROG_CPP
11AC_CHECK_TOOL(LD,ld,:)
12AC_PROG_INSTALL
13AC_HEADER_STDC
14AC_HEADER_TIME
15AC_CHECK_HEADERS(arpa/inet.h)
16AC_C_BIGENDIAN()
17
18AH_TEMPLATE(
19    [NO_CFMAKERAW],
20    [define this to include own cfmakeraw()]
21)
22AC_CHECK_FUNC(
23    cfmakeraw,
24    [],
25    [AC_DEFINE(NO_CFMAKERAW)]
26)
27
28AC_CHECK_HEADERS(math.h)
29AC_CHECK_LIB(m,log10)
30AC_CHECK_FUNCS(log10 labs)
31
32AC_CHECK_HEADERS(langinfo.h)
33AH_TEMPLATE(
34    [NO_NL_LANGINFO],
35    [define this to include nl_langinfo() replacement]
36)
37AC_CHECK_FUNC(
38    nl_langinfo,
39    [],
40    [AC_DEFINE(NO_NL_LANGINFO)
41     AC_MSG_NOTICE(Input/output is limited to ASCII.)
42    ]
43)
44
45MY_SEARCH_PARSELIB
46
47AC_CHECK_HEADERS(
48    iconv.h,
49    [AC_CHECK_LIB(
50	 [iconv],
51	 [libiconv],
52         [],
53         [AC_CHECK_FUNC(
54              iconv,
55	      [],
56	      [AC_MSG_ERROR(You need to get libiconv or a newer GNU libc.)]
57          )]
58     )
59     MY_DECL_ICONV_CONST
60     ],
61    [AC_MSG_ERROR(You need to get libiconv or a newer GNU libc.)]
62)
63
64AC_CHECK_HEADERS(
65    libintl.h,
66    [AC_SEARCH_LIBS(gettext,
67	                  intl,
68	                  [AC_PATH_PROG(MSGFMT,msgfmt)
69                           AC_PATH_PROG(MSGINIT,msginit)
70                           AC_PATH_PROG(MSGMERGE,msgmerge)
71                           AC_PATH_PROG(XGETTEXT,xgettext)
72	                  ],
73	                  [AC_MSG_NOTICE(No translation will be available during runtime.)]
74                   )
75    ],
76    [AC_MSG_NOTICE(No translation will be available during runtime.)]
77)
78
79
80AC_PATH_PROG(DB2X_XSLTPROC,db2x_xsltproc)
81AC_PATH_PROG(DB2X_MANXML,db2x_manxml)
82AC_PATH_PROG(XSLTPROC,xsltproc)
83
84AH_TEMPLATE(
85    [GETTEXT_DIRNAME],
86    [This defines the dirname for bindtextdomain]
87)
88if [[ "${prefix}" = "NONE" ]]; then \
89    prefix=${ac_default_prefix}; \
90fi
91GETTEXT_DIRNAME="$(eval echo $datadir/locale)"
92AC_DEFINE_UNQUOTED(GETTEXT_DIRNAME,"$GETTEXT_DIRNAME")
93
94AH_TEMPLATE(
95    [TTYPORT],
96    [This defines the default device to open parameter --device which overwrites this setting]
97)
98AC_ARG_WITH(
99    [device],
100    AS_HELP_STRING(--with-device=DEV,Use DEV as default else value depends on system),
101    [device=$withval],
102    [case $host in
103     *-*-linux*)
104       device="/dev/ttyS0"
105       BLUETOOTH_LIBS=""
106       AH_TEMPLATE([HAVE_LIBBLUETOOTH],[define this if you want to use and link to libbluetooth])
107       LIBSOLD=$LIBS
108       AC_CHECK_HEADERS(bluetooth/bluetooth.h,
109                        [AC_CHECK_LIB(bluetooth,
110			              str2ba,
111			              BLUETOOTH_LIBS="-lbluetooth $BLUETOOTH_LIBS"
112			              AC_DEFINE(HAVE_LIBBLUETOOTH)
113                                     )
114                        ],
115                        AC_MSG_NOTICE(Bluetooth header files not found)
116                       )
117       LIBS=$LIBSOLD
118       ;;
119     *-*-cygwin*)
120       device="/dev/com1"
121       ;;
122     *-*-mingw32*)
123       device="COM1"
124       CFLAGS="${CFLAGS} -DWINDOWS_API"
125       LIBS="${LIBS} -lshlwapi -lws2_32"
126       AC_CHECK_HEADERS(windows.h shlobj.h shlwapi.h winsock2.h,
127                        [],
128                        [AC_MSG_ERROR(You need to get the w32api mingw package.)]
129                       )
130       AC_CHECK_HEADERS(ws2bth.h,[],[],[
131#include <winsock2.h>
132                                       ]
133		       )
134       ;;
135     *-*-os2*)
136dnl For further OS/2 support, see INSTALL.OS2
137       device="COM1"
138       CFLAGS="${CFLAGS} -DOS2_API"
139       ;;
140     *-*-sunos* | *-*-solaris*)
141dnl The values below may not be fully correct.
142dnl I only know Solaris8/Sparc, maybe Solaris for x86 is different.
143       device="/dev/ttya"
144       ;;
145     *-*-freebsd*)
146dnl FreeBSD value is for x86.
147       device="/dev/tty00"
148       LIBSOLD=$LIBS
149       AC_CHECK_HEADERS(sys/bitstring.h netgraph/bluetooth/include/ng_btsocket.h bluetooth.h,
150                        [AC_CHECK_LIB(bluetooth,
151			              bt_aton,
152			              BLUETOOTH_LIBS="-lbluetooth $BLUETOOTH_LIBS"
153			              AC_DEFINE(HAVE_LIBBLUETOOTH)
154                                     )
155                        ]
156                       )
157       LIBS=$LIBSOLD
158       ;;
159     *-*-netbsd*)
160dnl NetBSD is guessed.
161       device="/dev/tty00"
162       ;;
163     *-*-openbsd*)
164dnl Values that people told me. If you know better, tell me.
165dnl OpenBSD value refers to OpenBSD/Sparc.
166       device="/dev/ttya"
167       ;;
168     *)
169dnl The default value defaults to the first non-numbered tty device
170       AC_MSG_WARN(System $host not known.)
171       device=`ls -1 /dev/tty[^0-9]* | head -n 1`
172       AC_MSG_WARN(Guessing: ${device})
173       ;;
174     esac
175    ]
176)
177AC_MSG_NOTICE(Using $device as default device.)
178AC_DEFINE_UNQUOTED(TTYPORT,"$device")
179
180
181AH_TEMPLATE(
182    [TTYSPEED],
183    [This defines the default serial baudrate, valid values may depend on system]
184)
185AC_ARG_WITH(
186    [baudrate],
187    AS_HELP_STRING(--with-baudrate=SPEED,Set baud rate to SPEED @<:@19200@:>@),
188    [baudrate=$withval],
189    [baudrate=19200]
190)
191AC_MSG_NOTICE(Using $baudrate as default baudrate.)
192AC_DEFINE_UNQUOTED(TTYSPEED,"$baudrate")
193
194AC_SUBST(LD)
195AC_SUBST(GETTEXT_DIRNAME)
196AC_SUBST(PACKAGE_NAME)
197AC_SUBST(PARSELIB)
198AC_SUBST(LIBS)
199AC_SUBST(BLUETOOTH_LIBS)
200AC_SUBST(OBJEXT)
201AC_SUBST(EXEEXT)
202AC_CONFIG_FILES(Makefile src/Makefile src/Makefile.sub docs/Makefile po/Makefile)
203AC_OUTPUT
204