Handle --with-gui/--without-gui arg.
[m17n/m17n-lib.git] / configure.ac
index ab00456..2848821 100644 (file)
@@ -26,6 +26,7 @@ dnl Process this file with autoconf to produce a configure script.
 AC_INIT(m17n-lib, 1.3.0, m17n-lib-bug@m17n.org)
 AM_INIT_AUTOMAKE(m17n-lib, 1.3.0)
 AM_CONFIG_HEADER(src/config.h)
+AM_MAINTAINER_MODE
 
 API_VERSION=1:0:1
 AC_SUBST(API_VERSION)
@@ -46,14 +47,6 @@ AC_HEADER_TIME
 AC_CHECK_HEADERS([fcntl.h langinfo.h limits.h locale.h stdlib.h \
                          string.h strings.h sys/time.h unistd.h])
 AC_CHECK_HEADER(X11/Xaw/Command.h, HAVE_XAW=yes)
-if test "x$HAVE_XAW" = "xyes"; then
-  XAW_LD_FLAGS=-lXaw
-  AC_DEFINE(HAVE_X11_XAW_COMMAND_H, 1,
-           [Define to 1 if you have the Xaw header files.])
-  CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_X11_XAW_COMMAND_H"
-fi
-
-AC_SUBST(XAW_LD_FLAGS)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -86,6 +79,15 @@ else
 fi
 AC_SUBST(M17NDIR)
 
+dnl Checks which levels of APIs should be compiled.
+
+AC_ARG_ENABLE(gui,
+             AC_HELP_STRING([--with-gui],
+                            [with GUI level APIs (default is YES)]))
+
+AM_CONDITIONAL(WITH_GUI, test x$with_gui != xno)
+
+if test x$with_gui != xno; then
 
 dnl Checks if dlopen exists, and if it's in libc or libdl.
 
@@ -101,11 +103,27 @@ dnl augmented.
 
 M17N_EXT_LIBS=
 
+if test "x$no_x" != "xyes"; then
+  AC_DEFINE(HAVE_X11, 1, [Define to 1 if you have X11.])
+  X11_LD_FLAGS="-lXt -lX11"
+  M17N_EXT_LIBS="$M17N_EXT_LIBS X11"
+
+  if test "x$HAVE_XAW" = "xyes"; then
+    AC_DEFINE(HAVE_X11_XAW_COMMAND_H, 1,
+             [Define to 1 if you have the Xaw header files.])
+    XAW_LD_FLAGS="-lXaw -lXmu"
+    CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_X11_XAW_COMMAND_H"
+    M17N_EXT_LIBS="$M17N_EXT_LIBS Xaw"
+  fi
+fi
+AC_SUBST(X11_LD_FLAGS)
+AC_SUBST(XAW_LD_FLAGS)
+
 dnl Check for fribidi library.
 save_CPPFLAGS="$CPPFLAGS"
 save_LIBS="$LIBS"
 AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes)
-if test "$HAVE_FRIBIDI_CONFIG" = "xyes"; then
+if test "x$HAVE_FRIBIDI_CONFIG" = "xyes"; then
   CPPFLAGS="$CPPFLAGS `fribidi-config --cflags`"
   FRIBIDI_LD_FLAGS="`fribidi-config --libs`"
   LIBS="$LIBS $FRIBIDI_LD_FLAGS"
@@ -126,28 +144,34 @@ LIBS="$save_LIBS"
 AC_SUBST(FRIBIDI_LD_FLAGS)
 
 dnl Check for otflib usability.
-save_CPPFLAGS="$CPPFLAGS"
-save_LIBS="$LIBS"
-AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
-if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
-  CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
-  OTF_LD_FLAGS="`libotf-config --libs`  "
-  LIBS="$LIBS $OTF_LD_FLAGS"
-else
-  OTF_LD_FLAGS=-lotf
-fi
-AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no)
-AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
-CPPFLAGS="$save_CPPFLAGS"
-if test "x$HAVE_OTF" = "xyes"; then
-  AC_DEFINE(HAVE_OTF, 1, 
-           [Define to 1 if you have OTF library and header file.])
-  M17N_EXT_LIBS="$M17N_EXT_LIBS libotf"
-else
+AC_ARG_WITH(libotf, 
+           AC_HELP_STRING([--with-libotf],
+                          [with OpenType font suport (default is YES)]))
+
+if test "x$with_libotf" != "xno"; then
+  save_CPPFLAGS="$CPPFLAGS"
+  save_LIBS="$LIBS"
+  AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
+  if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
+    CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
+    OTF_LD_FLAGS="`libotf-config --libs`  "
+    LIBS="$LIBS $OTF_LD_FLAGS"
+  else
+    OTF_LD_FLAGS=-lotf
+  fi
+  AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no)
+  AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
   CPPFLAGS="$save_CPPFLAGS"
-  OTF_LD_FLAGS=
+  if test "x$HAVE_OTF" = "xyes"; then
+    AC_DEFINE(HAVE_OTF, 1, 
+             [Define to 1 if you have OTF library and header file.])
+    M17N_EXT_LIBS="$M17N_EXT_LIBS libotf"
+  else
+    CPPFLAGS="$save_CPPFLAGS"
+    OTF_LD_FLAGS=
+  fi
+  LIBS="$save_LIBS"
 fi
-LIBS="$save_LIBS"
 AC_SUBST(OTF_LD_FLAGS)
 
 dnl Check for Freetype2 usability.
@@ -242,20 +266,28 @@ LIBS="$save_LIBS"
 AC_SUBST(FONTCONFIG_LD_FLAGS)
 
 dnl Check for gdlib usability.
-save_LIBS="$LIBS"
-AC_CHECK_LIB(gd, gdImageCreate, HAVE_GD=yes, HAVE_GD=no)
-AC_CHECK_HEADER(gd.h, , HAVE_GD=no)
-if test "x$HAVE_GD" = "xyes"; then
-  AC_CHECK_LIB(gd, gdImageCreateTrueColor, HAVE_GD=2, HAVE_GD=1)
-  AC_DEFINE_UNQUOTED(HAVE_GD, $HAVE_GD,
-           [Define to 1 or 2 if you have gd library and header file.])
-  M17N_EXT_LIBS="$M17N_EXT_LIBS gdlib"
-  GD_LD_FLAGS=-lgd
-  CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_GD"
+AC_ARG_WITH(gd, 
+           AC_HELP_STRING([--with-gd],
+                          [suport graphic device by GD library (default is YES)]))
+
+if test "x$with_gd" != "xno"; then
+  save_LIBS="$LIBS"
+  AC_CHECK_LIB(gd, gdImageCreate, HAVE_GD=yes, HAVE_GD=no)
+  AC_CHECK_HEADER(gd.h, , HAVE_GD=no)
+  if test "x$HAVE_GD" = "xyes"; then
+    AC_CHECK_LIB(gd, gdImageCreateTrueColor, HAVE_GD=2, HAVE_GD=1)
+    AC_DEFINE_UNQUOTED(HAVE_GD, $HAVE_GD,
+             [Define to 1 or 2 if you have gd library and header file.])
+    M17N_EXT_LIBS="$M17N_EXT_LIBS gdlib"
+    GD_LD_FLAGS=-lgd
+    CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_GD"
+  fi
+  LIBS="$save_LIBS"
 fi
-LIBS="$save_LIBS"
 AC_SUBST(GD_LD_FLAGS)
 
+fi
+
 dnl Check for libxml2 usability.
 save_CPPFLAGS="$CPPFLAGS"
 save_LIBS="$LIBS"