1dnl Process this file with autoconf to produce a configure script.
2UPDATED='November 1, 2016'
3AC_INIT(LibDsk, 1.4.2)
4AC_CONFIG_SRCDIR(lib/dskopen.c)
5AC_CONFIG_AUX_DIR(config)
6AC_CONFIG_MACRO_DIR(m4)
7AC_CANONICAL_SYSTEM
8LT_INIT
9AM_CONFIG_HEADER(config.h)
10AM_INIT_AUTOMAKE
11
12dnl Support for the Java Native Interface bindings
13AC_ARG_WITH(jni,
14[  --with-jni              Include Java Native Interface bindings [default=no]],
15	      , with_jni=no)
16dnl Support for transparent zlib compression
17AC_ARG_WITH(zlib,
18[  --with-zlib             Include support for gz-compressed files [default=yes]],
19	      , with_zlib=yes)
20dnl Support for transparent bzlib compression
21AC_ARG_WITH(bzlib,
22[  --with-bzlib            Include support for bz2-compressed files [default=yes]],
23	      , with_bzlib=yes)
24dnl Enable / disable machine-specific "floppy" driver
25AC_ARG_ENABLE(floppy,
26[  --enable-floppy         Enable host floppy driver [default=yes]],
27              , enable_floppy=yes)
28AC_JAVA_OPTIONS
29if test x$enable_floppy = xyes; then
30    :
31else
32    CFLAGS="$CFLAGS -DDISABLE_FLOPPY"
33fi
34
35
36dnl Checks for programs.
37AC_PROG_CC
38AC_PROG_INSTALL
39dnl Obsoleted by LIBTOOL AC_PROG_RANLIB
40AC_PROG_MAKE_SET
41AM_PROG_LIBTOOL
42
43dnl GCC extra options
44dnl Disable DLL export functions, because gcc 2.95.2 crashes
45dnl trying to compile with them present.
46if test "$ac_cv_prog_gcc" = "yes"; then
47  CFLAGS="-Wall -DNOTWINDLL $CFLAGS"
48fi
49
50dnl Checks for header files.
51AC_HEADER_STDC
52AC_CHECK_HEADERS(errno.h limits.h sys/ioctl.h stat.h sys/stat.h sys/types.h)
53AC_CHECK_HEADERS(unistd.h termios.h libgen.h assert.h)
54AC_CHECK_HEADERS(dirent.h fcntl.h utime.h pwd.h time.h dir.h direct.h)
55AC_CHECK_HEADERS(linux/fd.h linux/fdreg.h shlobj.h)
56AC_CHECK_HEADERS([windows.h winioctl.h], [], [],
57[[#ifdef HAVE_WINDOWS_H
58#include <windows.h>
59#endif
60]])
61
62dnl Checks for functions
63AC_CHECK_FUNCS(strcmpi stricmp strcasecmp, break)
64AC_CHECK_FUNCS(mkstemp)
65AC_CHECK_FUNCS(basename)
66AC_CHECK_FUNCS(fork)
67AC_CHECK_FUNCS(GetTempFileName)
68AC_CHECK_FUNCS(sleep)
69
70dnl Checks for zlib
71if test x$with_zlib = xyes; then
72	AC_CHECK_HEADERS(zlib.h)
73	AC_CHECK_LIB(z, zlibVersion)
74fi
75dnl Checks for bzlib
76if test x$with_bzlib = xyes; then
77	AC_CHECK_HEADERS(bzlib.h)
78	AC_CHECK_LIB(bz2, BZ2_bzlibVersion)
79fi
80
81dnl Checks for Java bits
82if test x$with_jni = xyes; then
83	JAVA=java
84	JAVAC=javac
85	AC_CHECK_CLASSPATH
86	AC_PROG_JAVAC
87	AC_PROG_JAVA
88	AC_PROG_JAVAH
89	AC_PROG_JAVADOC
90	AC_PROG_JAR
91	AC_JNI_INCLUDE_DIR
92     for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS
93     do
94             CPPFLAGS="$CPPFLAGS -I$JNI_INCLUDE_DIR"
95     done
96	AC_CHECK_HEADERS(jni.h)
97	LIBDSKJAR=libdsk.jar
98	TOOLCLASSES="DskFormat.class DskID.class DskTrans.class"
99else
100	LIBDSKJAR=
101	TOOLCLASSES=
102	JAVAH=true
103	JAVAC=true
104	JAVA=true
105	JAVADOC=true
106	JAR=true
107fi
108
109dnl Checks for typedefs, structures, and compiler characteristics.
110AC_C_CONST
111AC_TYPE_SIZE_T
112AC_EXEEXT
113AC_OBJEXT
114
115dnl Pass path for the 'share' directory
116CPPFLAGS="$CPPFLAGS -DAUTOSHARE=${datadir}/LibDsk"
117
118dnl Checks for library functions.
119AC_PROG_GCC_TRADITIONAL
120AC_HEADER_MAJOR
121AC_FUNC_MEMCMP
122AC_CHECK_FUNCS(strerror)
123
124AC_SUBST(LIBDSKJAR)
125AC_SUBST(TOOLCLASSES)
126AC_SUBST(CLASSPATH)
127AC_OUTPUT(Makefile doc/Makefile include/Makefile lib/Makefile tools/Makefile man/Makefile)
128