fix minor bug with the --with-pcbconfdir option
[geda-gaf/peter-b.git] / geda / configure.ac
blob29e385ebc2580b7f45e1859844dc6e1670837c77
1 # Process this file with autoconf to produce a configure script.
2 AC_INIT(configure.ac)
4 PACKAGE=geda
5 VERSION=20050820
6 echo Configuring $PACKAGE version $VERSION
8 # Initialize automake 
9 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
10 AM_CONFIG_HEADER([config.h])
12 #########################################################################
13 # Command line flags start
14
16
17 # Command line flags end
18 #########################################################################
20 #########################################################################
21
22 # Misc win32 / mingw checks and variables start
24 # Figure out if we are building on win32 and what environment.
25 case $host_os in
26   *cygwin*  ) AC_MSG_ERROR([Building gEDA/gaf under cygwin is not supported]) ;;
27   *mingw32* ) echo "Configuring for mingw"; MINGW=yes ;;
28 esac
30 if ! test "$MINGW" = "no" -o "$MINGW"x = x; then
31    MINGW_CFLAGS="-mms-bitfields -mwindows"
32    MINGW_LIBS="-lregex -liberty"
33    MINGW="yes"
34    PATHSEP=\\\\
35    OTHERPATHSEP=/
36 else
37    # Unix host
38    MINGW_CFLAGS=
39    MINGW_LIBS=
40    MINGW="no"
41    PATHSEP=/
42    OTHERPATHSEP=\\\\
45
46 # Misc win32 / mingw checks and variables end
47 #########################################################################
49 # Checks for programs.
50 AC_PROG_CC
51 AM_CONDITIONAL(CCISGCC, test "$GCC" = "yes")    
52 AC_PROG_CPP
53 AC_PROG_MAKE_SET
55 AC_ISC_POSIX
56 AC_PROG_CC
57 AM_PROG_CC_STDC
58 AC_HEADER_STDC
60 ############################################################################
61 # Check for mics things start
62
63 # Checking for rint in math library
64 AC_CHECK_LIB(m, rint, AC_DEFINE(HAS_RINT, 1, [If your math library has rint in it, define this]), no_RINT="yes")
66 # Checking for dynamic lib
67 AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", DL_LIB="")
69 # Check for mics things start
70 ############################################################################
72 ############################################################################
73 # Check for X11 start
74
76 if test "$MINGW" = "no"
77 then
78    AC_PATH_X
79    AC_PATH_XTRA 
80     
81    X_EXTRA_LIBS="$X_EXTRA_LIBS"
82    X_LDFLAGS="$X_LDFLAGS $X_LIBS $X_EXTRA_LIBS $X_PRE_LIBS -lX11 -lm"
85
86 # Check for X11 end
87 ############################################################################
89 ############################################################################
90 # Check for gtk+ 2.2 start
91
93 # Check for pkg-config
94 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
95 if test $PKG_CONFIG = no; then
96    AC_MSG_ERROR([Cannot find pkg-config, make sure it is installed and in your PATH])
99 PKG_CHECK_MODULES(GTK22, gtk+-2.0 >= 2.2.0, GTK22="yes", no_GTK22="yes")
101 # This next bit of code figures out what gtk we need to use.
102 if test "$GTK22" = "yes" 
103 then
105    AC_DEFINE(HAS_GTK22, 1, [If gtk+ 2.2.x has been installed, define this])
106    GTK_CFLAGS=$GTK22_CFLAGS
107    GTK_LIBS=$GTK22_LIBS
108    GTK_VERSION=`$PKG_CONFIG gtk+-2.0 --modversion`
110    # Search for glib
111    PKG_CHECK_MODULES(GLIB22, glib-2.0 >= 2.2.0, GLIB22="yes", no_GLIB22="yes")
112    if test "$GLIB22" != "yes"
113    then
114        AC_MSG_ERROR([Cannot find glib 2.2.x, install it and rerun ./configure.])
115    fi
116    GLIB_CFLAGS=$GLIB22_CFLAGS
117    GLIB_LIBS=$GLIB22_LIBS
118    GLIB_VERSION=`$PKG_CONFIG glib-2.0 --modversion`
120 else
121    GTK_VERSION=""
124 if test "$GTK_VERSION" = ""
125 then
126    AC_MSG_ERROR([Cannot find gtk+ 2.2.x or later, please install gtk+.])
130 # Check for gtk+ 2.2 end
131 ############################################################################
133 #########################################################################
134 # Checks for header files start
137 AC_HEADER_STDC
138 AC_HEADER_SYS_WAIT
139 AC_HEADER_DIRENT
140 AC_CHECK_HEADERS(unistd.h string.h stdlib.h stdarg.h assert.h fcntl.h \
141                  errno.h)
143 AC_MSG_CHECKING([for optarg in unistd.h])
144 AC_TRY_COMPILE(
145 [#include <unistd.h>],
146 [ char *string = optarg; int i = optind; ],
147 optarg_found=yes,
148 optarg_found=no)
149 AC_MSG_RESULT($optarg_found)
150 if test $optarg_found = yes; then
151    AC_DEFINE(OPTARG_IN_UNISTD, 1, [Define if you have optarg in unistd.h])
154 # Checks for typedefs, structures, and compiler characteristics.
155 AC_C_CONST
157 # Checks for library functions.
158 AC_TYPE_SIGNAL
159 AC_CHECK_FUNCS(getcwd strstr vsnprintf snprintf)
162 # Checks for header files end
163 #########################################################################
165 #########################################################################
166 # gEDA/gaf specify setup start
169 # Defs for libary symbol files
171 # Expand the prefix variable
172 if eval "test x$prefix = xNONE"; then
173  dprefix=$ac_default_prefix
174 else
175  dprefix=$prefix
178 DATADIR=gEDA
179 GEDADATADIR=$datadir/$DATADIR
181 gedatopdir=$dprefix/share/$DATADIR
182 expandgedadatadir=`echo $gedatopdir`
184 # this has to be expanded ( no ${prefix} ) --
185 AC_DEFINE_UNQUOTED(GEDADATADIR, "$gedatopdir", [gEDA/gaf's data directory])
186 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Currently running version of gEDA/gaf])
189 # gEDA/gaf specify things which need to setup
190 #########################################################################
192 # Finally create the final CFLAGS and LDFLAGS for use in the makefiles
193 GMANAGER_CFLAGS="$MINGW_CFLAGS $GTK_CFLAGS $X_CFLAGS"
194 GMANAGER_LDFLAGS="$MINGW_LIBS $GLIB_LIBS"
195 AC_SUBST(GMANAGER_CFLAGS)
196 AC_SUBST(GMANAGER_LDFLAGS)
197 AC_SUBST(GTK_LIBS)
199 dnl Checks for programs.
200 dnl Checks for libraries.
201 dnl Checks for header files.
202 AC_CHECK_HEADERS(time.h)
204 dnl Checks for typedefs, structures, and compiler characteristics.
205 dnl Checks for library functions.
206 AC_CHECK_FUNCS(nanosleep)
208 dnl Checks for Additional stuffs.
210 dnl Languages which your application supports
212 #########################################################################
215 # ------------- dmalloc -------------------
216 dnl dmalloc checks
217 with_dmalloc="no"
218 AC_MSG_CHECKING([if dmalloc debugging should be enabled])
219 AC_ARG_ENABLE([dmalloc],
220 [  --enable-dmalloc        Compile and link with dmalloc for malloc debugging [[default=no]]],
222 if test "X$enable_dmalloc" != "Xno" ; then
223         AC_MSG_RESULT([yes])
224         AC_CHECK_HEADER(dmalloc.h,,
225                 AC_ERROR([You have requested dmalloc debugging but dmalloc.h could not be found]))
226         AC_CHECK_LIB(dmalloc,main,,
227                 AC_ERROR([You have requested dmalloc debugging but -ldmalloc could not be found]))
228         DMALLOC_LIBS="-ldmalloc"
229         with_dmalloc="yes"
230 else
231         AC_MSG_RESULT([no])
232         DMALLOC_LIBS=""
236         AC_MSG_RESULT([no])
237         DMALLOC_LIBS=""
240 # ------------- ElectricFence -------------------
241 dnl ElectricFence checks
242 with_efence="no"
243 AC_MSG_CHECKING([if ElectricFence debugging should be enabled])
244 AC_ARG_ENABLE([efence],
245 [  --enable-efence         Link with ElectricFence for malloc debugging [[default=no]]],
247 if test "X$enable_efence" != "Xno" ; then
248         AC_MSG_RESULT([yes])
249         if test "X$with_dmalloc" = "Xyes" ; then
250                 AC_ERROR([You have requested both dmalloc and Electric Fence, however only 1 is allowed.])
251         fi
252         AC_CHECK_LIB(efence,main,,
253                 AC_ERROR([You have requested ElectricFence debugging but -lefence could not be found]))
254         with_efence="yes"
255 else
256         AC_MSG_RESULT([no])
260 AC_MSG_RESULT([no])
264 #########################################################################
266 ALL_LINGUAS=""
267 AM_GNU_GETTEXT
268 AM_GNU_GETTEXT_VERSION(0.12.1)
270 dnl Set PACKAGE_LOCALE_DIR in config.h.
271 if test "x${prefix}" = "xNONE"; then
272   AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${ac_default_prefix}/${DATADIRNAME}/locale", [Package locale directory])
273 else
274   AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${prefix}/${DATADIRNAME}/locale", [Package locale directory])
278 dnl Set PACKAGE SOURCE DIR in config.h.
279 packagesrcdir=`cd $srcdir && pwd`
281 dnl Set PACKAGE PREFIX
282 if test "x${prefix}" = "xNONE"; then
283   packageprefix=${ac_default_prefix}
284 else
285   packageprefix=${prefix}
288 dnl Set PACKAGE DATA & DOC DIR
289 packagedatadir=share/${PACKAGE}
290 packagedocdir=doc/${PACKAGE}
292 dnl Set PACKAGE DIRS in config.h.
293 packagepixmapsdir=${packagedatadir}/pixmaps
294 packagehelpdir=${packagedatadir}/help
295 packagemenudir=${packagedatadir}
297 dnl Subst PACKAGE_DATA_DIR.
298 NO_PREFIX_PACKAGE_DATA_DIR="${packagedatadir}"
299 AC_SUBST(NO_PREFIX_PACKAGE_DATA_DIR)
300 PACKAGE_DATA_DIR="${packageprefix}/${packagedatadir}"
301 AC_SUBST(PACKAGE_DATA_DIR)
303 dnl Subst PACKAGE_DOC_DIR.
304 NO_PREFIX_PACKAGE_DOC_DIR="${packagedocdir}"
305 AC_SUBST(NO_PREFIX_PACKAGE_DOC_DIR)
306 PACKAGE_DOC_DIR="${packageprefix}/${packagedocdir}"
307 AC_SUBST(PACKAGE_DOC_DIR)
309 dnl Subst PACKAGE_PIXMAPS_DIR.
310 NO_PREFIX_PACKAGE_PIXMAPS_DIR="${packagepixmapsdir}"
311 AC_SUBST(NO_PREFIX_PACKAGE_PIXMAPS_DIR)
312 PACKAGE_PIXMAPS_DIR="${packageprefix}/${packagepixmapsdir}"
313 AC_SUBST(PACKAGE_PIXMAPS_DIR)
315 dnl Subst PACKAGE_HELP_DIR.
316 NO_PREFIX_PACKAGE_HELP_DIR="${packagehelpdir}"
317 AC_SUBST(NO_PREFIX_PACKAGE_HELP_DIR)
318 PACKAGE_HELP_DIR="${packageprefix}/${packagehelpdir}"
319 AC_SUBST(PACKAGE_HELP_DIR)
321 dnl Subst PACKAGE_MENU_DIR.
322 NO_PREFIX_PACKAGE_MENU_DIR="${packagemenudir}"
323 AC_SUBST(NO_PREFIX_PACKAGE_MENU_DIR)
324 PACKAGE_MENU_DIR="${packageprefix}/${packagemenudir}"
325 AC_SUBST(PACKAGE_MENU_DIR)
327 AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${packageprefix}/${packagedatadir}", [Package data directory])
328 AC_DEFINE_UNQUOTED(PACKAGE_DOC_DIR, "${packageprefix}/${packagedocdir}", [Package doc directory])
329 AC_DEFINE_UNQUOTED(PACKAGE_PIXMAPS_DIR, "${packageprefix}/${packagepixmapsdir}", [Package pixmap directory])
330 AC_DEFINE_UNQUOTED(PACKAGE_HELP_DIR, "${packageprefix}/${packagehelpdir}", [Package help directory])
331 AC_DEFINE_UNQUOTED(PACKAGE_MENU_DIR, "${packageprefix}/${packagemenudir}", [Package menu directroy])
332 AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [Package source directory])
334 AC_OUTPUT([ Makefile 
335          m4/Makefile 
336          intl/Makefile 
337          po/Makefile.in 
338          include/Makefile
339          src/Makefile 
340          pixmaps/Makefile 
341          graphman/Makefile ])
343 AC_MSG_RESULT([
344 ** Configuration summary for $PACKAGE $VERSION:
346    GLIB library version:             $GLIB_VERSION
347    GTK+ library version:             $GTK_VERSION
348    mingw build:                      $MINGW
349    dmalloc debugging:                $with_dmalloc
350    ElectricFence debugging:          $with_efence