core: refactoring API for struct schemas only - Phase I
[libastrodb.git] / configure.in
blobbf777702a798e320987007b2c03c8a545a5c1104
1 # init autoconf (and check for presence of libnova.h)
2 AC_INIT(src/libastrodb/catalog.h)
3 AC_CONFIG_SRCDIR([src/db.c])
5 # Save this value here, since automake will set cflags later
6 cflags_set=${CFLAGS+set}
8 # libtool versioning
9 LIBASTRODB_MAJOR_VERSION=0
10 LIBASTRODB_MINOR_VERSION=1
11 LIBASTRODB_MICRO_VERSION=0
12 LIBASTRODB_VERSION=$LIBASTRODB_MAJOR_VERSION.$LIBASTRODB_MINOR_VERSION.$LIBASTRODB_MICRO_VERSION
13 AC_SUBST(LIBASTRODB_MAJOR_VERSION)
14 AC_SUBST(LIBASTRODB_MINOR_VERSION)
15 AC_SUBST(LIBASTRODB_MICRO_VERSION)
16 AC_SUBST(LIBASTRODB_VERSION)
18 LT_VERSION=$LIBASTRODB_MICRO_VERSION
19 LT_RELEASE=$LIBASTRODB_MAJOR_VERSION.$LIBASTRODB_MINOR_VERSION
20 AC_SUBST(LT_VERSION)
21 AC_SUBST(LT_RELEASE)
23 VERSION=$LIBASTRODB_VERSION
24 PACKAGE=libastrodb
26 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
28 dnl Initialize libtool
29 AM_PROG_LIBTOOL
31 # check for libnova
32 dnl
33 dnl AC_LIB_LIBNOVA (MINIMUM-VERSION)
34 dnl
35 dnl Check for availability of libnova.
36 dnl Abort if not found or if current version is not up to par.
37 dnl
39 AC_DEFUN([AC_LIB_LIBNOVA],[
40         min_libnova_version=ifelse([$1], ,0.1,$1)
41         AC_CHECK_LIB(nova, ln_get_version, , AC_MSG_ERROR([libnova is required to compile Nova. Please check config.log.]), )
42         AC_MSG_CHECKING(for libnova - version >= $min_libnova_version)
43         no_libnova=""
44         AC_TRY_RUN([
45 #include <stdio.h>
46 #include <stdlib.h>
47 #include <string.h>
48 #include <libnova/libnova.h>
50 static char*
51 my_strdup (char *str)
53   char *new_str;
54   
55   if (str)
56     {
57       new_str = (char*) malloc ((strlen (str) + 1) * sizeof(char));
58       strcpy (new_str, str);
59     }
60   else
61     new_str = NULL;
62   
63   return new_str;
66 int 
67 main ()
69   char  *tmp_version;
70   char  *ln_version;
71   
72   int    major;
73   int    minor;
74   int    micro;
75   int    ln_major;
76   int    ln_minor;
77   int    ln_micro;
79   ln_version = my_strdup(ln_get_version());
80   if (sscanf(ln_version, "%d.%d.%d", &ln_major, &ln_minor, &ln_micro) != 3) {
81     printf ("%s, bad version string\n", ln_version);
82     exit (1);
83   }
85   /* HP/UX 9 (%@#!) writes to sscanf strings */
86   tmp_version = my_strdup("$min_libnova_version");
87   if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
88     printf ("%s, bad version string\n", "$min_libnova_version");
89     exit (1);
90   }
92   if ((ln_major > major) ||
93       ((ln_major == major) && (ln_minor > minor)) ||
94       ((ln_major == major) && (ln_minor == minor)) && (ln_micro >= micro)) {
95     return 0;
96   } else {
97     printf ("\n");
98     printf ("*** An old version of libnova (%s) was found.\n", ln_version);
99     printf ("*** You need a version of libnova newer than or equal to %d.%d.%d.  The latest version of\n",
100                major, minor, micro);
101     printf ("*** libnova is always available from http://libnova.sf.net.\n");
102     printf ("***\n");
103     return 1;
104   }
106 ],,no_libnova=yes,[/bin/true])
107         if test "x$no_libnova" = x ; then
108                 AC_MSG_RESULT(yes)
109         else
110                 AC_MSG_RESULT(no)
111                 AC_MSG_ERROR([libnova is required to compile Nova. Please check config.log.])
112         fi
116 AC_LIB_LIBNOVA(0.12.2)
118 # Checks for programs.
119 AC_PROG_CC
120 AM_PROG_CC_STDC
121 AC_PROG_INSTALL
123 # Check C environment
124 AC_CHECK_FUNCS([bzero])
125 AC_CHECK_FUNCS([strdup])
126 AC_CHECK_FUNCS([strtol])
127 AC_CHECK_FUNCS([dup2])
128 AC_CHECK_FUNCS([gettimeofday])
129 AC_CHECK_FUNCS([mkdir])
130 AC_CHECK_FUNCS([strndup])
131 AC_CHECK_FUNCS([strstr])
132 AC_CHECK_HEADERS([stdlib.h])
133 AC_CHECK_HEADERS([sys/time.h])
134 AC_FUNC_STRTOD
135 AC_FUNC_MALLOC
136 AC_C_INLINE
137 AC_C_CONST
138 AC_FUNC_CLOSEDIR_VOID
139 AC_FUNC_FORK
140 AC_FUNC_STAT
141 AC_HEADER_DIRENT
142 AC_HEADER_SYS_WAIT
143 AC_HEADER_TIME
145 LIBS="$LIBS -lm"
146 CFLAGS=-Wall
148 AC_CONFIG_FILES([
149         Makefile
150         src/Makefile
151         src/libastrodb/Makefile
152         examples/Makefile
153         doc/Makefile
156 AC_OUTPUT()