Fixing image_size and tm_gs
[texmacs.git] / src / configure.in
blobdc19a872ec0a10b7f8dea721f656c9d80421cf7f
2 #--------------------------------------------------------------------
4 # MODULE      : configure.in
5 # DESCRIPTION : TeXmacs configuration file for autoconf
6 # COPYRIGHT   : (C) 2000  Joris van der Hoeven
8 # This software falls under the GNU general public license version 3 or later.
9 # It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE
10 # in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>.
12 #--------------------------------------------------------------------
14 AC_INIT
15 AC_CONFIG_HEADERS([src/System/config.h:src/System/config.in])
16 AC_CANONICAL_HOST
18 PACKAGE="TeXmacs"
19 DEVEL_VERSION="1.0.7.3"
20 DEVEL_RELEASE="1"
21 STABLE_VERSION="1.0.7"
22 STABLE_RELEASE="1"
23 WINDOWS_VERSION="1.0.5"
24 WINDOWS_RELEASE="1"
25 AC_SUBST(PACKAGE)
26 AC_SUBST(DEVEL_VERSION)
27 AC_SUBST(DEVEL_RELEASE)
28 AC_SUBST(STABLE_VERSION)
29 AC_SUBST(STABLE_RELEASE)
31 #--------------------------------------------------------------------
32 # Checks for C++ compiler
33 #--------------------------------------------------------------------
35 AC_PROG_CC
36 AC_PROG_CXX
37 AC_LANG_CPLUSPLUS
38 AH_TEMPLATE([OLD_GNU_COMPILER],[Use g++ strictly prior to g++ 3.0])
39 AC_MSG_CHECKING(whether GNU C++ compiler is default)
40 case "$GXX" in
41   yes )
42     GCC_VERSION=`$CC -dumpversion`
43     GXX_VERSION=`$CXX -dumpversion`
44     AC_MSG_RESULT(yes)
45     AC_MSG_CHECKING(version of gcc)
46     AC_MSG_RESULT($GCC_VERSION)
47     AC_MSG_CHECKING(version of g++)
48     AC_MSG_RESULT($GXX_VERSION)
49     case "$GXX_VERSION" in
50       0* | 1* | 2*)
51         echo "old style GNU compiler"
52         AC_DEFINE([OLD_GNU_COMPILER],[])
53       ;;
54     esac
55   ;;
56   *)
57     GCC_VERSION="none"
58     GXX_VERSION="none"
59     AC_MSG_RESULT(no)
60     AC_MSG_WARN(cannot find GNU C++ compiler)
61   ;;
62 esac
64 #--------------------------------------------------------------------
65 # Checks for Guile
66 #--------------------------------------------------------------------
68 if test -z "$GUILE_CFLAGS" -a -z "$GUILE_LDFLAGS"; then
69   GUILE_FLAGS
71 AC_MSG_CHECKING(version of guile)
72 if test -z "$GUILE_VERSION" ; then
73   GUILE_VERSION=`guile --version | grep 'Guile \([[0-9]]\)' | sed 's/Guile \([[0-9]]*\)/\1/'`
75 AC_MSG_RESULT($GUILE_VERSION)
77 case "$GUILE_VERSION" in
78   1.0* | 1.1* | 1.2* | 1.3* | 1.4* | 1.5*)
79     CONFIG_GUILE_SERIAL="A"
80   ;;
81   1.6* | 1.7*)
82     CONFIG_GUILE_SERIAL="B"
83   ;;
84   *)
85     CONFIG_GUILE_SERIAL="C"
86   ;;
87 esac
88 AC_SUBST(CONFIG_GUILE_SERIAL)
90 #--------------------------------------------------------------------
91 # Checks for standard functionality
92 #--------------------------------------------------------------------
94 CPP_X_HEADERS
95 AC_CHECK_TYPES(FILE)
96 AC_CHECK_TYPES(intptr_t)
97 AC_CHECK_TYPES(time_t)
98 AC_PATH_X
99 AC_PATH_XTRA
100 AC_CHECK_HEADERS(pty.h util.h)
101 AC_CHECK_FUNCS(gettimeofday)
103 #--------------------------------------------------------------------
104 # Checks for dl library
105 #--------------------------------------------------------------------
107 AC_CHECK_FUNC(dlopen)
108 if test "$ac_cv_func_dl" = "yes"; then
109   AC_DEFINE(DYNAMIC_LINKING, 1, [Dynamic linking works])
110 else
111   AC_CHECK_LIB(dl,dlopen)
112   if test "$ac_cv_lib_dl_dlopen" = "yes"; then
113     AC_CHECK_FUNCS(dlopen)
114     CONFIG_BDL="-ldl"
115     AC_DEFINE(DYNAMIC_LINKING, 1, [Dynamic linking works])
116   else
117     AC_CHECK_LIB(dld,dld_link)
118     if test "$ac_cv_lib_dld_dld_link" = "yes"; then
119       CONFIG_BDL="-ldl"
120       AC_DEFINE(DYNAMIC_LINKING, 1, [Dynamic linking works])
121     else
122       AC_CHECK_FUNCS(shl_load)
123       if test "$ac_cv_func_shl_load" = "yes"; then
124         CONFIG_BDL="-ldl"
125         AC_DEFINE(DYNAMIC_LINKING, 1, [Dynamic linking works])
126       else
127         AC_CHECK_FUNCS(dlopen)
128         if test "$ac_cv_func_dlopen" = "yes"; then
129           AC_DEFINE(DYNAMIC_LINKING, 1, [Dynamic linking works])
130         fi
131       fi
132     fi
133   fi
135 AC_SUBST(CONFIG_BDL)
137 #--------------------------------------------------------------------
138 # Checks for iconv library
139 #--------------------------------------------------------------------
141 AC_ARG_WITH(iconv,
142 changequote(<<, >>)dnl
143 <<  --with-iconv[=DIR]        where to find iconv [system]>>dnl
144 changequote([, ])dnl
147 # Check for iconv
148 # Modified from GNOME's libxml2 configure.in
149 AC_LANG_SAVE
150 AC_LANG_C  # compile C to avoid the 'const char**' problem
152 SAVE_CPPFLAGS="$CPPFLAGS"
153 SAVE_LDFLAGS="$LDFLAGS"
154 SAVE_LIBS="$LIBS"
155 if test "$with_iconv" = "no" ; then
156     AC_MSG_RESULT([disabling iconv support])
157 else
158     if test -n "$ICONV_CFLAGS" -a -n "$ICONV_LDFLAGS"; then
159        CPPFLAGS="$ICONV_CFLAGS" # for AC_TRY_LINK
160        LDFLAGS="$ICONV_LDFLAGS"
161     fi
162     if test "$with_iconv" != "yes" -a "$with_iconv" != "" ; then
163        CPPFLAGS="-I$with_iconv/include" # for AC_TRY_LINK
164        LDFLAGS="-L$with_iconv/lib"
165        ICONV_CFLAGS="-I$with_iconv/include"
166        ICONV_LDFLAGS="-L$with_iconv/lib"
167     fi
169     AC_CHECK_HEADER(iconv.h,
170     AC_MSG_CHECKING(for iconv)
171     AC_TRY_LINK(
173 #include <stdlib.h>
174 #include <iconv.h>
176     iconv_t cd = iconv_open ("","");
177     iconv (cd, NULL, NULL, NULL, NULL);
179     AC_MSG_RESULT(yes)
180     AC_DEFINE(USE_ICONV, 1, [Use iconv library])
182     AC_MSG_RESULT(no)
183     AC_MSG_CHECKING(for iconv in -liconv)
184 #    LDFLAGS="${ICONV_LDFLAGS}"    # for AC_TRY_LINK
185     LIBS="-liconv"                # for AC_TRY_LINK
186     AC_TRY_LINK(
188 #include <stdlib.h>
189 #include <iconv.h>
191       iconv_t cd = iconv_open ("","");
192       iconv (cd, NULL, NULL, NULL, NULL);
194       AC_MSG_RESULT(yes)
195       AC_DEFINE(USE_ICONV, 1, [Use iconv library])
196       ICONV_LDFLAGS="${ICONV_LDFLAGS/-liconv} -liconv"
198       AC_MSG_RESULT(no)
199       AC_MSG_WARN([absence of iconv may crash HTML import])
200   ])]))
203 CPPFLAGS="$SAVE_CPPFLAGS"
204 LDFLAGS="$SAVE_LDFLAGS"
205 LIBS="$SAVE_LIBS"
206 AC_LANG_RESTORE  # restore C++ language
207 AC_SUBST(ICONV_CFLAGS)
208 AC_SUBST(ICONV_LDFLAGS)
210 #--------------------------------------------------------------------
211 # Checks for freetype library
212 #--------------------------------------------------------------------
214 AC_ARG_WITH(freetype,
215 changequote(<<, >>)dnl
216 <<  --with-freetype[=ARG]     with freetype support [ARG=linked]>>dnl
217 changequote([, ])dnl
220 SAVE_CPPFLAGS="$CPPFLAGS"
221 SAVE_LDFLAGS="$LDFLAGS"
222 SAVE_LIBS="$LIBS"
223 if test "$with_freetype" = "no" ; then
224     AC_MSG_RESULT([disabling freetype support])
225 else
226     if test -z "$FREETYPE_CFLAGS"; then
227       FREETYPE_CFLAGS=`freetype-config --cflags`
228     fi
229     CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
230     if test -z "$FREETYPE_LDFLAGS"; then
231       FREETYPE_LDFLAGS=`freetype-config --libs`
232     fi
233     LIBS="$LDFLAGS $FREETYPE_LDFLAGS"
234     AC_CHECK_HEADER(ft2build.h,
235     AC_MSG_CHECKING(for freetype)
236     AC_TRY_LINK(
238 #include <ft2build.h>
239 #include FT_FREETYPE_H 
241     FT_Library ft_library;
242     (void) FT_Init_FreeType (&ft_library);
244     AC_MSG_RESULT(yes)
245     AC_DEFINE(USE_FREETYPE, 1, [Use freetype library])
246     FREETYPE_CFLAGS="$CPPFLAGS"
247     if test "$with_freetype" = "linked" -o "$with_freetype" = "" ; then
248       FREETYPE_LDFLAGS="$LIBS"
249       AC_DEFINE(LINKED_FREETYPE, 1, [Link freetype library with TeXmacs])
250     fi
252     AC_MSG_RESULT(no)]))
255 CPPFLAGS="$SAVE_CPPFLAGS"
256 LDFLAGS="$SAVE_LDFLAGS"
257 LIBS="$SAVE_LIBS"
259 AC_SUBST(FREETYPE_CFLAGS)
260 AC_SUBST(FREETYPE_LDFLAGS)
262 #--------------------------------------------------------------------
263 # Checks for Cairo library
264 #--------------------------------------------------------------------
266 AC_ARG_WITH(cairo,
267 changequote(<<, >>)dnl
268 <<  --with-cairo[=ARG]        with cairo support [ARG=no]>>dnl
269 changequote([, ])dnl
272 SAVE_CPPFLAGS="$CPPFLAGS"
273 SAVE_LDFLAGS="$LDFLAGS"
274 SAVE_LIBS="$LIBS"
275 if test "$with_cairo" = "no" -o "$with_cairo" = "" ; then
276     AC_MSG_RESULT([disabling cairo support])
277 else
278     CPPFLAGS=`pkg-config --cflags cairo`
279     LIBS=`pkg-config --libs cairo`
280     AC_CHECK_HEADER(cairo.h,
281     AC_MSG_CHECKING(for cairo)
282     AC_TRY_LINK(
284 #include <cairo.h>
286     cairo_surface_t *surface;
287     surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 120, 120);
289     AC_MSG_RESULT(yes)
290     AC_DEFINE(USE_CAIRO, 1, [Use cairo library])
291     CAIRO_CFLAGS="$CPPFLAGS"
292     if test "$with_cairo" = "linked" ; then
293       CAIRO_LDFLAGS="$LIBS"
294       AC_DEFINE(LINKED_CAIRO, 1, [Link cairo library with TeXmacs])
295     fi
297     AC_MSG_RESULT(no)]))
300 CPPFLAGS="$SAVE_CPPFLAGS"
301 LDFLAGS="$SAVE_LDFLAGS"
302 LIBS="$SAVE_LIBS"
304 AC_SUBST(CAIRO_CFLAGS)
305 AC_SUBST(CAIRO_LDFLAGS)
307 #--------------------------------------------------------------------
308 # Checks for Imlib2 library
309 #--------------------------------------------------------------------
311 AC_ARG_WITH(imlib2,
312 changequote(<<, >>)dnl
313 <<  --with-imlib2[=ARG]       with imlib2 support [ARG=no]>>dnl
314 changequote([, ])dnl
317 SAVE_CPPFLAGS="$CPPFLAGS"
318 SAVE_LDFLAGS="$LDFLAGS"
319 SAVE_LIBS="$LIBS"
320 if test "$with_imlib2" = "no" -o "$with_imlib2" = "" ; then
321     AC_MSG_RESULT([disabling imlib2 support])
322 else
323     CPPFLAGS=`imlib2-config --cflags`
324     LIBS=`imlib2-config --libs`
325     AC_CHECK_HEADER(Imlib2.h,
326     AC_MSG_CHECKING(for imlib2)
327     AC_TRY_LINK(
329 #include <X11/Xlib.h>
330 #include <Imlib2.h>
331 #include <stdio.h>
332 #include <string.h>
334     Imlib_Image image= imlib_load_image("");
336     AC_MSG_RESULT(yes)
337     AC_DEFINE(USE_IMLIB2, 1, [Use imlib2 library])
338     IMLIB2_CFLAGS="$CPPFLAGS"
339     if test "$with_imlib2" = "linked" ; then
340       IMLIB2_LDFLAGS="$LIBS"
341       AC_DEFINE(LINKED_IMLIB2, 1, [Link imlib2 library with TeXmacs])
342     fi
344     AC_MSG_RESULT(no)]))
347 CPPFLAGS="$SAVE_CPPFLAGS"
348 LDFLAGS="$SAVE_LDFLAGS"
349 LIBS="$SAVE_LIBS"
351 AC_SUBST(IMLIB2_CFLAGS)
352 AC_SUBST(IMLIB2_LDFLAGS)
354 #--------------------------------------------------------------------
355 # Checks for Axel library
356 #--------------------------------------------------------------------
358 AC_ARG_WITH(axel,
359 changequote(<<, >>)dnl
360 <<  --with-axel[=ARG]       with axel support [ARG=no]>>dnl
361 changequote([, ])dnl
364 SAVE_CPPFLAGS="$CPPFLAGS"
365 SAVE_LDFLAGS="$LDFLAGS"
366 SAVE_LIBS="$LIBS"
367 if test "$with_axel" = "no" -o "$with_axel" = "" ; then
368     AC_MSG_RESULT([disabling axel support])
369 else
370     CPPFLAGS=`axel-config --cflags`
371     LIBS=`axel-config --libs`
372     AC_CHECK_HEADER(QGui/Viewer.h,
373     AC_MSG_CHECKING(for axel)
374     AC_TRY_LINK(
376 #include <QGui/Viewer.h>
378     Viewer viewer(0);
380     AC_MSG_RESULT(yes)
381     AC_DEFINE(USE_AXEL, 1, [Use axel library])
382     AXEL_CFLAGS="$CPPFLAGS"
383     if test "$with_axel" = "linked" ; then
384       AXEL_LDFLAGS="$LIBS"
385       AC_DEFINE(LINKED_AXEL, 1, [Link axel library with TeXmacs])
386     fi
388     AC_MSG_RESULT(no)]))
391 CPPFLAGS="$SAVE_CPPFLAGS"
392 LDFLAGS="$SAVE_LDFLAGS"
393 LIBS="$SAVE_LIBS"
395 AC_SUBST(AXEL_CFLAGS)
396 AC_SUBST(AXEL_LDFLAGS)
398 #--------------------------------------------------------------------
399 # Checks for ghostscript library
400 #--------------------------------------------------------------------
402 AC_ARG_WITH(gs,
403 changequote(<<, >>)dnl
404 <<  --with-gs[=ARG]       with ghostscript support [ARG=yes]>>dnl
405 changequote([, ])dnl
408 if test "$with_gs" = "no" ; then
409     AC_MSG_RESULT([disabling ghostscript support])
410 else
411 case "${host}" in
412   *mingw* | *-*-cygwin)
413     GS_EXE="gswin32c.exe"
414     GS_DLL="gsdll32.dll"
415     AC_CHECK_PROG([HAS_GS_EXE], [${GS_EXE}], [yes], [no])
416     AC_CHECK_PROG([HAS_GS_LIB], [${GS_DLL}], [yes], [no])
417   ;;
418   *)
419     AC_CHECK_PROG([HAS_GS_EXE], [gs], [yes], [no])
420     HAS_GS_LIB="yes"
421   ;;
422 esac
423 if test "x${HAS_GS_EXE}" = "xyes" -a "x${HAS_GS_LIB}" = "xyes"; then
424   AC_DEFINE([USE_GS], [1], [Use ghostscript])
425   CONFIG_GS="Ghostscript"
426   AC_SUBST([CONFIG_GS])
427   AC_SUBST([GS_EXE])
428   AC_SUBST([GS_DLL])
429 else
430   AC_MSG_RESULT([disabling ghostscript support])
434 #--------------------------------------------------------------------
435 # Fixes for erroneous behaviour of gcc/g++ and guile on some systems
436 #--------------------------------------------------------------------
438 AC_MSG_CHECKING(whether ... arguments behave correctly)
439 if test -z "$GUILE_CFLAGS"; then
440   CXXFLAGS="`guile-config compile`"
441 else
442   CXXFLAGS="$GUILE_CFLAGS"
444 AC_TRY_COMPILE([
445   #include <guile/gh.h>
446   #include <libguile.h>
447   typedef SCM (*FN)(...);
448   static SCM identity (SCM x) { return x; }
449   void declare () { gh_new_procedure ("identity", (FN) identity, 1, 0, 0); }
452   AC_DEFINE(DOTS_OK, 1, [Defined if ...-style argument passing works])
453   AC_MSG_RESULT(yes)
455   AC_MSG_RESULT(no)
457 CXXFLAGS=""
459 AC_MSG_CHECKING(the size_t of guile strings)
460 if test -z "$GUILE_CFLAGS"; then
461   CXXFLAGS="`guile-config compile`"
462 else
463   CXXFLAGS="$GUILE_CFLAGS"
465 AC_TRY_COMPILE([
466   #include <guile/gh.h>
467   #include <libguile.h>
468   void print_string (SCM s) {
469     int len_r;
470     char* r= gh_scm2newstr (s, &len_r); }
473   AC_DEFINE(guile_str_size_t, int, [Guile string size type])
474   AC_MSG_RESULT(int)
476   AC_DEFINE(guile_str_size_t, size_t, [Guile string size type])
477   AC_MSG_RESULT(size_t)
479 CXXFLAGS=""
481 AC_MSG_CHECKING([if statically linking with guile works])
482 SAVE_CPPFLAGS="$CPPFLAGS"
483 SAVE_LDFLAGS="$LDFLAGS"
484 SAVE_LIBS="$LIBS"
485 CPPFLAGS="$GUILE_CFLAGS"
486 LDFLAGS="-static"
487 LIBS="$GUILE_LDFLAGS"
488 TEXMACS_LINK_GUILE([tm_link_guile_static="yes"],
489                    [tm_link_guile_static="no"])
490 AC_MSG_RESULT(["$tm_link_guile_static"])
491 if test "$tm_link_guile_static" = "no" ; then
492    AC_MSG_CHECKING([if it works with -lltdl])
493    LIBS="$GUILE_LDFLAGS -lltdl"
494    TEXMACS_LINK_GUILE([tm_link_guile_static_ltdl="yes"],
495                       [tm_link_guile_static_ltdl="no"])
496    AC_MSG_RESULT(["$tm_link_guile_static_ltdl"])
497    if test "$tm_link_guile_static_ltdl" = "yes" ; then
498       GUILE_LDFLAGS="$GUILE_LDFLAGS -lltdl"
499    else
500       AC_MSG_CHECKING([if it works with -lltdl -ldl])
501       LIBS="$GUILE_LDFLAGS -lltdl -ldl"
502       TEXMACS_LINK_GUILE([tm_link_guile_static_ltdl_ldl="yes"],
503                          [tm_link_guile_static_ltdl_ldl="no"])
504       AC_MSG_RESULT(["$tm_link_guile_static_ltdl_ldl"])
505       if test "$tm_link_guile_static_ltdl_ldl" = "yes" ; then
506          GUILE_LDFLAGS="$GUILE_LDFLAGS -lltdl -ldl"
507       else
508          AC_MSG_WARN([unable to link statically with guile])
509       fi
510    fi
512 CPPFLAGS="$SAVE_CPPFLAGS"
513 LDFLAGS="$SAVE_LDFLAGS"
514 LIBS="$SAVE_LIBS"
516 #--------------------------------------------------------------------
517 # Handle different systems case by case
518 #--------------------------------------------------------------------
520 CONFIG_OS="GNU_LINUX"
521 CONFIG_OS_SUFFIX="gnu-linux"
522 CONFIG_OS_COMPAT="Unix"
523 CONFIG_MACOS=""
524 CONFIG_CXXFLAGS=""
525 CONFIG_CXXTEMPLATE=""
526 CONFIG_STD_SETENV="#define STD_SETENV"
527 CONFIG_SO="so"
528 CONFIG_LIB_PATH="LD_LIBRARY_PATH"
529 CONFIG_CHMOD="chmod -f"
530 CONFIG_CXXOPTIMIZE="-O2"
531 CONFIG_BSTATIC="-Wl,-Bstatic"
532 CONFIG_BSHARED="-Wl,-Bdynamic"
533 CONFIG_BFLAGS=""
534 CONFIG_BPATH="-Wl,-rpath,"
535 CONFIG_LDRT=""
536 CONFIG_WORD_LENGTH="4"
537 CONFIG_WORD_LENGTH_INC="3"
538 CONFIG_WORD_MASK="0xfffffffc"
539 CONFIG_MAX_FAST="260 // WORD_LENGTH more than power of 2"
540 # tweak for XCode project
541 CONFIG_NATIVE_ARCH_TAG="NATIVE_ARCH"
543 X11_CFLAGS="$X_CFLAGS"
544 X11_LDFLAGS="$X_LIBS -lXext -lX11"
546 AC_CHECK_SIZEOF(void *)
547 AC_MSG_CHECKING(if we are on a 64-bits computer)
548 if test "$ac_cv_sizeof_void_p" = "8"; then
549   AC_MSG_RESULT([yes])
550   CONFIG_WORD_LENGTH="8"
551   CONFIG_WORD_LENGTH_INC="7"
552   CONFIG_WORD_MASK="0xfffffffffffffff8"
553   CONFIG_MAX_FAST="264 // WORD_LENGTH more than power of 2"
554 else
555   AC_MSG_RESULT([no])
558 case "${host}" in
559   i*86-*-linux* | x86_64-*-linux*)
560     AC_MSG_RESULT(final adjustments for an Intel or AMD GNU/Linux host)
561     CONFIG_CXXOPTIMIZE="-O3 -fexpensive-optimizations"
562   ;;
563   i*86-*-freebsd* | x86_64-*-freebsd*)
564     AC_MSG_RESULT(final adjustments for an Intel or AMD GNU/BSD host)
565     CONFIG_CXXOPTIMIZE="-O3 -fexpensive-optimizations"
566   ;;
567   i*86-*-solaris*)
568     AC_MSG_RESULT(final adjustments for an Intel or AMS Solaris host)
569     CONFIG_CXXOPTIMIZE="-O3"
570     CONFIG_BPATH="-Wl,-R,"
571     X11_LDFLAGS="$X_LIBS -lXext -lX11 -lsocket"
572   ;;
573   *mingw*)
574     AC_MSG_RESULT([final adjustments for mingw host])
575     CONFIG_OS_COMPAT="Windows"
576     CONFIG_LDRT="-lmingw32 -lmingwex -mwindows"
577   ;;
578   *-*-cygwin)
579     AC_MSG_RESULT(final adjustments for cygwin host)
580     CONFIG_OS="CYGWIN"
581     CONFIG_BFLAGS="-Wl,-stack,8388608"
582 #    CXX="export CYGWIN=check_case:strict; $CXX"
583 #    AC_SUBST(CXX)
584   ;;
585   *apple*darwin*)
586     echo "$ac_t""final adjustments for a MacOS host" 1>&6
587     CONFIG_OS="MACOS"
588     CONFIG_CXXFLAGS="-I${prefix}/include"
589     CONFIG_BSHARED=""
590     CONFIG_BFLAGS="-framework Cocoa"
591     CONFIG_BPATH=""
592     CONFIG_SO="dylib"
593     CONFIG_LIB_PATH="DYLD_LIBRARY_PATH"
594   ;;
595   *darwin*)
596     echo "$ac_t""final adjustments for a generic Darwin host" 1>&6
597     CONFIG_CXXFLAGS="-I${prefix}/include"
598     CONFIG_BSHARED=""
599     CONFIG_BPATH=""
600     CONFIG_SO="dylib"
601     CONFIG_LIB_PATH="DYLD_LIBRARY_PATH"
602   ;;
603   powerpc-*-linux*)
604     AC_MSG_RESULT(final adjustments for a PowerPC/GNU-linux host)
605     CONFIG_OS="POWERPC_GNU_LINUX"
606     CONFIG_CXXOPTIMIZE="-O3 -fexpensive-optimizations"
607   ;;
608   *sun*)
609     AC_MSG_RESULT(final adjustments for a SUN/solaris host)
610     CONFIG_OS="SUN"
611     CONFIG_OS_SUFFIX="sun"
612     CONFIG_BSTATIC=""
613     CONFIG_BSHARED=""
614     CONFIG_BPATH="-Wl,-R,"
615     X11_LDFLAGS="$X_LIBS -lXext -lX11 -lsocket"
616     CONFIG_WORD_LENGTH="8"
617     CONFIG_WORD_LENGTH_INC="7"
618     CONFIG_WORD_MASK="0xfffffff8"
619     CONFIG_MAX_FAST="264 // WORD_LENGTH more than power of 2"
620     CONFIG_STD_SETENV=""
621   ;;
622   sparc*-*-linux*)
623     AC_MSG_RESULT(final adjustments for a Sparc host running GNU/Linux)
624     CONFIG_CXXOPTIMIZE="-O3 -fexpensive-optimizations"
625     CONFIG_WORD_LENGTH="8"
626     CONFIG_WORD_LENGTH_INC="7"
627     CONFIG_WORD_MASK="0xfffffff8"
628     CONFIG_MAX_FAST="264 // WORD_LENGTH more than power of 2"
629     CONFIG_STD_SETENV=""
630   ;;
631   *dec*)
632     AC_MSG_RESULT(final adjustments for a DEC/alpha host)
633     CONFIG_BSTATIC=""
634     CONFIG_BSHARED="-shared"
635     CONFIG_STD_SETENV=""
636   ;;
637   *alpha*-*-linux*)
638     AC_MSG_RESULT(final adjustments for an Alpha GNU/Linux host)
639     CONFIG_BSTATIC=""
640     CONFIG_BSHARED="-shared"
641   ;;
642   s390-*-linux*)
643     AC_MSG_RESULT(final adjustments for an IBM S/390 GNU/Linux host)
644     CONFIG_STD_SETENV=""
645   ;;
646   ia64-*-linux*)
647     AC_MSG_RESULT(final adjustments for an Itanium GNU/Linux host)
648     CONFIG_BSTATIC=""
649     CONFIG_BSHARED="-shared"
650   ;;
651   hppa*-*-linux*)
652     AC_MSG_RESULT(final adjustments for an HP PA_RISC GNU/Linux host)
653     CONFIG_CXXFLAGS="$CONFIG_CXXFLAGS -fPIC"
654     CONFIG_BSTATIC=""
655     CONFIG_BSHARED="-shared"
656   ;;
657   *sgi-irix*)
658     echo "$ac_t""final adjustments for a SGI/Irix host" 1>&6
659     CONFIG_OS="IRIX"
660     CONFIG_CXXFLAGS=""
661     X_LIBS=-L/usr/lib32
662     CONFIG_BSTATIC=""
663     CONFIG_BSHARED=""
664     CONFIG_BPATH=""
665     X11_LDFLAGS="$X_LIBS -lX11"
666     CONFIG_WORD_MASK="0xfffffff8"
667     CONFIG_STD_SETENV=""
668     CONFIG_CHMOD="chmod"
669     CONFIG_LIB_PATH="LD_LIBRARYN32_PATH"
670   ;;
671   m68k-*-linux* | mips-*-linux* | mipsel-*-linux* | arm*-*-linux*)
672     AC_MSG_RESULT(final adjustments for a supported GNU/Linux host)
673   ;;
674   *-linux*)
675     AC_MSG_RESULT(final adjustments for a generic GNU/Linux host)
676   ;;
677   *)
678     AC_MSG_RESULT(final adjustments for a generic host)
679   ;;
680 esac
682 case "${host}" in
683   *apple*darwin10*)
684     echo "$ac_t""Xcode 3.2 project tweak (only MacOSX 10.6)" 1>&6
685     CONFIG_NATIVE_ARCH_TAG="NATIVE_ARCH_ACTUAL"
686   ;;
687 esac
689 #--------------------------------------------------------------------
690 # Temporary fix for link problem
691 #--------------------------------------------------------------------
693 case "$GXX_VERSION" in
694      3.* | 4.*)
695          CONFIG_BSTATIC="-static"
696          CONFIG_BSHARED="-dynamic"
697      ;;
698 esac
700 #--------------------------------------------------------------------
701 # Memory allocation options
702 #--------------------------------------------------------------------
704 AC_ARG_ENABLE(fastalloc,
705 [  --disable-fastalloc     omit fast allocator for small objects],
706     [], [enable_fastalloc="yes"])
707 case "$enable_fastalloc" in
708     yes)
709         ;;
710     no)
711         AC_MSG_RESULT([disabling fast allocator for small objects])
712         AC_DEFINE(NO_FAST_ALLOC, 1, [Disable fast memory allocator])
713         ;;
714     *)
715         AC_MSG_ERROR([bad option --enable-fastalloc=$enable_fastalloc])
716         ;;
717 esac
719 #--------------------------------------------------------------------
720 # Experimental options
721 #--------------------------------------------------------------------
723 AC_ARG_ENABLE(experimental,
724 [  --enable-experimental   support new style rewriting code],
725     [], [enable_experimental="no"])
726 case "$enable_experimental" in
727     yes)
728         AC_MSG_RESULT([enabling experimental style rewriting code])
729         AC_DEFINE(EXPERIMENTAL, 1, [Enable experimental style rewriting code])
730         CONFIG_EXPERIMENTAL="Memorizer Environment Evaluate"
731         ;;
732     no)
733         AC_MSG_RESULT([disabling experimental style rewriting code])
734         CONFIG_EXPERIMENTAL=""
735         ;;
736     *)
737         AC_MSG_ERROR([bad option --enable-experimental=$enable_experimental])
738         ;;
739 esac
740 AC_SUBST(CONFIG_EXPERIMENTAL)
742 #--------------------------------------------------------------------
743 # MacOS X extensions (spellchecker, image loading)
744 #--------------------------------------------------------------------
746 AC_ARG_ENABLE(macosx-extensions,
747 [  --enable-macosx-extensions   support new style rewriting code],
748     [], [enable_macosx_extensions="no"])
749 case "$enable_macosx_extensions" in
750     yes)
751         AC_MSG_RESULT([enabling Mac OSX extensions])
752         AC_DEFINE(MACOSX_EXTENSIONS, 1, [Enabling Mac OSX extensions])
753         CONFIG_MACOS="MacOS"
754         ;;
755     no)
756         AC_MSG_RESULT([disabling Mac OSX extensions])
757         CONFIG_MACOS=""
758         ;;
759     *)
760         AC_MSG_ERROR([bad option --enable-macosx-extensions=$enable_macosx_extensions])
761         ;;
762 esac
763 AC_SUBST(CONFIG_MACOS)
765 #--------------------------------------------------------------------
766 # Gui selection
767 #--------------------------------------------------------------------
769 CONFIG_X11=""
770 CONFIG_COCOA=""
771 CONFIG_GUI="X11"
773 AC_ARG_ENABLE(qt,
774 [  --enable-qt             replace X11 by Qt interface],
775     [], [enable_qt="no"])
777 case "$enable_qt" in
778     yes)
779         HACKED_AT_WITH_QT
780         if test x"$at_cv_qt_build" = xko; then 
781            AC_MSG_ERROR([cannot find Qt!])
782         else
783            AC_MSG_RESULT([enabling experimental Qt port])
784            CONFIG_GUI="QT"
785         fi
786         ;;
787     no)
788         AC_MSG_RESULT([disabling experimental Qt port])
789         ;;
790     *)
791         AC_MSG_ERROR([bad option --enable-qt=$enable_qt])
792         ;;
793 esac
795 AC_ARG_ENABLE(cocoa,
796 [  --enable-cocoa          replace X11 by Cocoa interface],
797     [], [enable_cocoa="no"])
798 case "$enable_cocoa" in
799     yes)
800         AC_MSG_RESULT([enabling experimental Cocoa port])
801         COCOA_CFLAGS=""
802         COCOA_LDFLAGS="-framework Cocoa"
803         CONFIG_GUI="COCOA"
804         ;;
805     no)
806         AC_MSG_RESULT([disabling experimental Cocoa port])
807         ;;
808     *)
809         AC_MSG_ERROR([bad option --enable-cocoa=$enable_cocoa])
810         ;;
811 esac
813 case "$CONFIG_GUI" in
814     X11)
815         CONFIG_X11="X11 Widkit"
816         if test "x${CONFIG_GS}" != "xGhostscript"; then
817           CONFIG_X11="$CONFIG_X11 Ghostscript"
818         fi
819         CONFIG_GUI_DEFINE="X11TEXMACS"
820 #        AC_DEFINE(X11TEXMACS, 1, [Use standard X11 port])
821         ;;
822     COCOA)
823         CONFIG_COCOA="Cocoa"
824         CONFIG_GUI_DEFINE="AQUATEXMACS"
825 #        AC_DEFINE(AQUATEXMACS, 1, [Enable experimental Cocoa port])
826         ;;
827     QT)
828         CONFIG_QT="Qt"
829         CONFIG_GUI_DEFINE="QTTEXMACS"
830 #        AC_DEFINE(QTTEXMACS, 1, [Enable experimental Qt port])
831         ;;
832 esac
834 AC_SUBST(CPPFLAGS)
835 AC_SUBST(LDFLAGS)
836 AC_SUBST(X11_CFLAGS)
837 AC_SUBST(X11_LDFLAGS)
838 AC_SUBST(COCOA_CFLAGS)
839 AC_SUBST(COCOA_LDFLAGS)
841 AC_SUBST(CONFIG_X11)
842 AC_SUBST(CONFIG_COCOA)
843 AC_SUBST(CONFIG_QT)
844 AC_SUBST(CONFIG_GUI)
845 AC_SUBST(CONFIG_GUI_DEFINE)
847 #--------------------------------------------------------------------
848 # Debugging options
849 #--------------------------------------------------------------------
851 STD_DEBUG_FLAGS="-fno-rtti -fno-exceptions"
852 if test "$enable_cocoa" = "yes"; then
853     STD_DEBUG_FLAGS="-fno-exceptions"
856 AC_MSG_CHECKING(if compiler supports $STD_DEBUG_FLAGS)
857 CXXFLAGS="$STD_DEBUG_FLAGS"
858 AC_TRY_COMPILE([
859   int some_variable = 0;
862     CONFIG_CXXDIALECT="$STD_DEBUG_FLAGS"
863     AC_MSG_RESULT(yes)
865     CONFIG_CXXDIALECT=""
866     AC_MSG_RESULT(no)
868 CXXFLAGS=""
869 AC_SUBST(CONFIG_CXXDIALECT)
871 AC_ARG_ENABLE(debug,
872 changequote(<<, >>)dnl
873 <<  --enable-debug[=ARG]      install a debugging enable executable [-ggdb]>>,
874 changequote([, ])dnl
875 [], [enable_debug="no"])
877 if test "$enable_debug" = "yes"; then
878     if test "$GXX" = "yes"; then
879         enable_debug="-ggdb"
880     else
881         enable_debug="-g3"
882     fi
885 if test "$enable_debug" = "no"; then
886     AC_MSG_RESULT([disabling debugging])
887     CONFIG_STRIP="strip"
888     CONFIG_CXXDEBUG=""
889     optimize_default="yes"
890 else
891     AC_MSG_RESULT([enabling debugging, $enable_debug])
892     CONFIG_STRIP="true"
893     CONFIG_CXXDEBUG="$enable_debug"
894     optimize_default="no"
897 AC_ARG_ENABLE(assert,
898 changequote(<<, >>)dnl
899 <<  --enable-assert           exit on failed assertions in code>>,
900 changequote([, ])dnl
901 [], [enable_assert="yes"])
903 if test "$enable_assert" = "no"; then
904     AC_MSG_RESULT([disabling assertion checking])
905 else
906     AC_MSG_RESULT([enabling assertion checking])
907     AC_DEFINE(DEBUG_ASSERT, 1, [check assertions in code])
910 #--------------------------------------------------------------------
911 # Warning options
912 #--------------------------------------------------------------------
914 case "$GXX_VERSION" in
915   none)
916     CONFIG_CXXWARNING="";
917   ;;
918   *)
919     CONFIG_CXXWARNING="-Wall -Wno-return-type"
920   ;;
921 esac
923 AC_ARG_ENABLE(warnings,
924 [  --enable-warnings       print warning messages during compilation],
925     [], [enable_warnings="yes"])
926 case "$enable_warnings" in
927     yes)
928         AC_MSG_RESULT([enabling warning flags $CONFIG_CXXWARNING]) ;;
929     no)
930         CONFIG_CXXWARNING=""
931         AC_MSG_RESULT([disabling warning flags]) ;;
932     *)
933         CONFIG_CXXWARNING="$enable_warnings"
934         AC_MSG_RESULT([enabling warning flags $CONFIG_CXXWARNING]) ;;
935 esac
937 #--------------------------------------------------------------------
938 # Optimization options
939 #--------------------------------------------------------------------
941 if test "$optimize_default" = "yes"; then
942   case "$GXX_VERSION" in
943     3.3.3 | 3.3.4 | 4.*)
944       ;;
945     2.96 | 3.0 | 3.0.* | 3.1 | 3.1.* | 3.2 | 3.2.* | 3.3 | 3.3.*)
946       case "${host}" in
947         i*86-*-linux-gnu* | i*86-*-freebsd*)
948           AC_MSG_WARN([using g++ 3.*, optimize without inline by default])
949           optimize_default="no-inline"
950         ;;
951         *)
952           AC_MSG_WARN([using g++ 3.*, optimize without inline by default])
953           optimize_default="no-inline"
954         ;;
955       esac
956     ;;
957   esac
960 AC_ARG_ENABLE(optimize,
961 changequote(<<, >>)dnl
962 <<  --enable-optimize[=ARG]   compile with optimizations [guessed]>>,
963 changequote([, ])dnl
964 [], [enable_optimize="$optimize_default"])
966 case "$enable_optimize" in
967     yes)
968         # keep optimization options
969         AC_MSG_RESULT([enabling optimizations, $CONFIG_CXXOPTIMIZE]) ;;
970     no-inline)
971         optimize_no_inline="-fno-default-inline -fno-inline"
972         CONFIG_CXXOPTIMIZE="$CONFIG_CXXOPTIMIZE $optimize_no_inline"
973         AC_MSG_RESULT([enabling optimizations, $CONFIG_CXXOPTIMIZE]) ;;
974     no)
975         CONFIG_CXXOPTIMIZE=""
976         AC_MSG_RESULT([disabling optimizations]) ;;
977     *)
978         CONFIG_CXXOPTIMIZE="$enable_optimize"
979         AC_MSG_RESULT([customizing optimizations, $enable_optimize]) ;;
980 esac
982 #--------------------------------------------------------------------
983 # Substitute TeXmacs specific configuration parameters
984 #--------------------------------------------------------------------
986 AC_SUBST(CONFIG_OS)
987 AC_SUBST(CONFIG_OS_SUFFIX)
988 AC_SUBST(CONFIG_OS_COMPAT)
989 AC_SUBST(CONFIG_CXXWARNING)
990 AC_SUBST(CONFIG_CXXTEMPLATE)
991 AC_SUBST(CONFIG_CXXOPTIMIZE)
992 AC_SUBST(CONFIG_CXXDEBUG)
993 AC_SUBST(CONFIG_BFLAGS)
994 AC_SUBST(CONFIG_BSTATIC)
995 AC_SUBST(CONFIG_BSHARED)
996 AC_SUBST(CONFIG_BPATH)
997 AC_SUBST(CONFIG_WORD_LENGTH)
998 AC_SUBST(CONFIG_WORD_LENGTH_INC)
999 AC_SUBST(CONFIG_WORD_MASK)
1000 AC_SUBST(CONFIG_MAX_FAST)
1001 AC_SUBST(CONFIG_CXXFLAGS)
1002 AC_SUBST(CONFIG_STD_SETENV)
1003 AC_SUBST(CONFIG_SO)
1004 AC_SUBST(CONFIG_LIB_PATH)
1005 AC_SUBST(CONFIG_STRIP)
1006 AC_SUBST(CONFIG_CHMOD)
1007 AC_SUBST(CONFIG_LDRT)
1008 AC_SUBST(CONFIG_NATIVE_ARCH_TAG)
1010 #--------------------------------------------------------------------
1011 # Default paths for installation
1012 #--------------------------------------------------------------------
1014 if test "$prefix" = ""; then
1015   prefix=/usr/local
1017 if test "$prefix" = "NONE"; then
1018   prefix=/usr/local
1020 if test "$exec_prefix" = ""; then
1021   exec_prefix='${prefix}'
1023 if test "$exec_prefix" = "NONE"; then
1024   exec_prefix='${prefix}'
1026 if test "$exec_prefix" = '${prefix}'; then
1027   exec_prefix='${prefix}'
1029 if test "$includedir" = ""; then
1030   includedir='${prefix}/include'
1032 if test "$includedir" = "NONE"; then
1033   includedir='${prefix}/include'
1035 if test "$includedir" = '${prefix}/include'; then
1036   includedir='${prefix}/include'
1038 if test "$libdir" = ""; then
1039   libdir='${exec_prefix}/lib'
1041 if test "$libdir" = "NONE"; then
1042   libdir='${exec_prefix}/lib'
1044 if test "$libdir" = '${exec_prefix}/lib'; then
1045   libdir='${exec_prefix}/lib'
1047 if test "$bindir" = ""; then
1048   bindir='${exec_prefix}/bin'
1050 if test "$bindir" = "NONE"; then
1051   bindir=${exec_prefix}/bin
1053 if test "$bindir" = '${exec_prefix}/bin'; then
1054   bindir='${exec_prefix}/bin'
1056 if test "$datarootdir" = ""; then
1057   datarootdir='${prefix}/share'
1059 if test "$datarootdir" = "NONE"; then
1060   datarootdir='${prefix}/share'
1062 if test "$datarootdir" = '${prefix}/share'; then
1063   datarootdir='${prefix}/share'
1065 if test "$datadir" = ""; then
1066   datadir='${prefix}/share'
1068 if test "$datadir" = "NONE"; then
1069   datadir='${prefix}/share'
1071 if test "$datadir" = '${prefix}/share'; then
1072   datadir='${prefix}/share'
1074 if test "$mandir" = ""; then
1075   mandir='${datarootdir}/man'
1077 if test "$mandir" = "NONE"; then
1078   mandir='${datarootdir}/man'
1080 if test "$mandir" = '${datarootdir}/man'; then
1081   mandir='${datarootdir}/man'
1083 if test "$libexecdir" = ""; then
1084   libexecdir='${exec_prefix}/libexec'
1086 if test "$libexecdir" = "NONE"; then
1087   libexecdir='${exec_prefix}/libexec'
1089 if test "$libexecdir" = '${exec_prefix}/libexec'; then
1090   libexecdir='${exec_prefix}/libexec'
1093 curdir="`pwd`"
1094 tmorig=${curdir}
1095 tmdir=${PACKAGE}
1096 tmsrc=${curdir}/${tmdir}
1097 tmbin=${libexecdir}/${tmdir}
1098 tmdata=${datadir}/${tmdir}
1099 AC_SUBST(tmorig)
1100 AC_SUBST(tmdir)
1101 AC_SUBST(tmsrc)
1102 AC_SUBST(tmbin)
1103 AC_SUBST(tmdata)
1105 if test "$DEVEL_RELEASE" = "1"; then
1106   tmtgz=${PACKAGE}-${DEVEL_VERSION}
1107 else
1108   tmtgz=${PACKAGE}-${DEVEL_VERSION}-R${DEVEL_RELEASE}
1110 tmrpm=${PACKAGE}-${DEVEL_VERSION}-${DEVEL_RELEASE}
1111 if test "$STABLE_RELEASE" = "1"; then
1112   tmstgz=${PACKAGE}-${STABLE_VERSION}
1113 else
1114   tmstgz=${PACKAGE}-${STABLE_VERSION}-R${STABLE_RELEASE}
1116 tmsrpm=${PACKAGE}-${STABLE_VERSION}-${STABLE_RELEASE}
1117 if test "$WINDOWS_RELEASE" = "1"; then
1118   tmwin=wintexmacs-${WINDOWS_VERSION}
1119 else
1120   tmwin=wintexmacs-${WINDOWS_VERSION}-R${WINDOWS_RELEASE}
1122 AC_SUBST(tmtgz)
1123 AC_SUBST(tmrpm)
1124 AC_SUBST(tmstgz)
1125 AC_SUBST(tmsrpm)
1126 AC_SUBST(tmwin)
1128 #--------------------------------------------------------------------
1129 # Done
1130 #--------------------------------------------------------------------
1132 AC_OUTPUT(Makefile:Makefile.in src/makefile:src/makefile.in src/System/tm_configure.hpp:src/System/tm_configure.in misc/admin/admin.makefile:misc/admin/admin.makefile.in misc/doxygen/Doxyfile:misc/doxygen/Doxyfile.in misc/man/texmacs.1:misc/man/texmacs.1.in misc/rpm/TeXmacs.spec:misc/rpm/TeXmacs.spec.in misc/scripts/fig2ps:misc/scripts/fig2ps.in misc/scripts/texmacs:misc/scripts/texmacs.in TeXmacs/examples/plugins/dynlink/Makefile:TeXmacs/examples/plugins/dynlink/Makefile.in misc/bundle/Base.xcconfig:misc/bundle/Base.xcconfig.in)