diff configure.in @ 643:9ab89d89e6b4

Add dw_listview_insert() Default to using webkit for Gtk+ HTML widget Add option to build with libgtkhtml2 - incomplete Initial attempt to use customdraw for Win32 container - not working Added dw_window_get_font() for Gtk+ - not implemented in other ports yet Change package name from dw to dwindows for Linux ports - use dwindows-config now Add debian package build target
author mhessling@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 03 Oct 2010 00:34:36 +0000
parents 06be879f5137
children 903a8f7bcb7c
line wrap: on
line diff
--- a/configure.in	Sun Apr 12 01:41:50 2009 +0000
+++ b/configure.in	Sun Oct 03 00:34:36 2010 +0000
@@ -5,7 +5,7 @@
 DW_MINOR_VERSION=1
 DW_SUB_VERSION=0
 
-TARGET="dw"
+TARGET="dwindows"
 TARGET2="dwcompat"
 AC_SUBST(TARGET)
 AC_SUBST(TARGET2)
@@ -59,6 +59,27 @@
    [with_gtk=no],
 )
 
+dnl ---------------------- check for '--with-gtkhtml' switch -----------------
+AC_ARG_WITH(gtkhtml,
+   [  --with-gtkhtml          specify this to build dwindows with libgtkhtml-2],
+   [with_gtkhtml=$withval],
+   [with_gtkhtml=no],
+)
+
+dnl ---------------------- check for '--with-gtkmozembed' switch -----------------
+AC_ARG_WITH(gtkmozembed,
+   [  --with-gtkmozembed      specify this to build dwindows with Mozilla gtkmozembed],
+   [with_gtkmozembed=$withval],
+   [with_gtkmozembed=no],
+)
+
+dnl ---------------------- check for '--with-arch' switch -----------------
+AC_ARG_WITH(arch,
+   [  --with-arch             specify architecture: one of all, 32bit, 64bit, ppc, ppc64, x86_64, i386],
+   [with_arch=$withval],
+   [with_arch=no],
+)
+
 AC_HEADER_STDC
 AC_HEADER_DIRENT
 AC_CHECK_HEADERS(unistd.h)
@@ -86,21 +107,41 @@
 AC_CHECK_LIB(dgc, inet_addr, LIBS="$LIBS -ldgc",)
 AC_CHECK_LIB(resolv, gethostbyname, LIBS="$LIBS -lresolv",)
 
+SONAME=""
 OPSYSTEM=`uname -s`
-case "OPSYSTEM" in
+case "$OPSYSTEM" in
    MINGW32*)
       AC_DEFINE(DW_USE_GTK)
    ;;
+   *Linux*)
+      SONAME="-Wl,-soname,lib$TARGET.so.$DW_MAJOR_VERSION"
+   ;;
 esac
 
 if test $OPSYSTEM = "Darwin"; then
-   ARCH="-arch ppc -arch ppc64 -arch x86_64 -arch i386"
-   SHAREDFLAG="-dynamiclib -flat_namespace -undefined suppress $ARCH"
+   case "$with_arch" in
+      no)
+         ARCH=""
+         ;;
+      all)
+         ARCH="-arch ppc -arch ppc64 -arch x86_64 -arch i386"
+         ;;
+      32bit)
+         ARCH="-arch ppc -arch i386"
+         ;;
+      64bit)
+         ARCH="-arch ppc84 -arch x86_64"
+         ;;
+      *)
+         ARCH="-arch $with_arch"
+         ;;
+   esac
+   SHAREDFLAG="-dynamiclib -flat_namespace -undefined suppress"
    SOSUFFIX=dylib
    if test $with_gtk = yes; then
       DW_SRC=gtk
       LIBS="$LIBS -framework Gtk -framework Glib -framework Cairo"
-      GTK_CFLAGS="-I/Library/Frameworks/Gtk.framework/Headers -I/Library/Frameworks/Glib.framework/Headers -I/Library/Frameworks/Cairo.framework/Headers $ARCH"
+      GTK_CFLAGS="-I/Library/Frameworks/Gtk.framework/Headers -I/Library/Frameworks/Glib.framework/Headers -I/Library/Frameworks/Cairo.framework/Headers"
    else
       DW_SRC=mac
       DW_DEFINE=__MAC__
@@ -110,13 +151,39 @@
    AC_CHECK_PROG(PKG_CFG, pkg-config, pkg-config)
    if test x"$PKG_CFG" != x; then
       GTK_LIBS=`$PKG_CFG --silence-errors --libs gtk+-2.0 gthread-2.0`
-      MOZEMBED_LIBS=`$PKG_CFG --silence-errors --libs firefox-gtkmozembed`
-      MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags firefox-gtkmozembed`
-      RPATH=`$PKG_CFG --silence-errors --libs-only-L firefox-gtkmozembed | cut -b 3-`
-      if test x"$MOZEMBED_LIBS" = x; then
-         MOZEMBED_LIBS=`$PKG_CFG --silence-errors --libs mozilla-gtkmozembed`
-         MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags mozilla-gtkmozembed`
-         RPATH=`$PKG_CFG --silence-errors --libs-only-L mozilla-gtkmozembed | cut -b 3-`
+      if test $with_gtkmozembed = yes; then
+         MOZEMBED_LIBS=`$PKG_CFG --silence-errors --libs firefox-gtkmozembed`
+         MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags firefox-gtkmozembed`
+         RPATH=`$PKG_CFG --silence-errors --libs-only-L firefox-gtkmozembed | cut -b 3-`
+         if test x"$MOZEMBED_LIBS" = x; then
+            MOZEMBED_LIBS=`$PKG_CFG --silence-errors --libs mozilla-gtkmozembed`
+            MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags mozilla-gtkmozembed`
+            RPATH=`$PKG_CFG --silence-errors --libs-only-L mozilla-gtkmozembed | cut -b 3-`
+         fi
+      elif test $with_gtkhtml = yes; then
+         MOZEMBED_LIBS=`$PKG_CFG --silence-errors --libs libgtkhtml-2.0`
+         MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags libgtkhtml-2.0`
+         RPATH=`$PKG_CFG --silence-errors --libs-only-L libgtkhtml-2.0 | cut -b 3-`
+      else
+         WEBKIT_LIB="webkit-1.1"
+         MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags $WEBKIT_LIB`
+         RPATH=`$PKG_CFG --silence-errors --libs-only-L $WEBKIT_LIB | cut -b 3-`
+         if test x"$MOZEMBED_CFLAGS" = x; then
+            WEBKIT_LIB="webkit-1.0"
+            MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags $WEBKIT_LIB`
+            RPATH=`$PKG_CFG --silence-errors --libs-only-L $WEBKIT_LIB | cut -b 3-`
+            if test x"$MOZEMBED_CFLAGS" = x; then
+               WEBKIT_LIB="WebKitGtk"
+#               MOZEMBED_LIBS=`$PKG_CFG --silence-errors --libs $WEBKIT_LIB`
+               MOZEMBED_CFLAGS=`$PKG_CFG --silence-errors --cflags $WEBKIT_LIB`
+               RPATH=`$PKG_CFG --silence-errors --libs-only-L $WEBKIT_LIB | cut -b 3-`
+            else
+               AC_DEFINE(USE_WEBKIT10)
+            fi
+         else
+            AC_DEFINE(USE_WEBKIT11)
+         fi
+         AC_DEFINE_UNQUOTED(WEBKIT_LIB, "$WEBKIT_LIB")
       fi
       if test x"$RPATH" != x; then
          RPATH="-Wl,-R$RPATH"
@@ -152,11 +219,18 @@
 CFLAGS="$CFLAGS $GTK_CFLAGS $GDK_IMLIB_FLAGS $MOZEMBED_CFLAGS"
 
 BROWSER_OBJECT=""
-if test x"$MOZEMBED_LIBS" != x; then
+if test x"$MOZEMBED_CFLAGS" != x; then
    SAVE_LIBS="$LIBS"
    LIBS="$RPATH $LIBS $GTK_LIBS $PTHREAD_LIBS $GDK_IMLIB_LIBS $MOZEMBED_LIBS"
    BROWSER_OBJECT="browser.o"
-   AC_CHECK_LIB(gtkembedmoz,gtk_moz_embed_new,AC_DEFINE(USE_GTKMOZEMBED),BROWSER_OBJECT="")
+   if test $with_gtkmozembed = yes; then
+      AC_CHECK_LIB(gtkembedmoz,gtk_moz_embed_new,AC_DEFINE(USE_GTKMOZEMBED),BROWSER_OBJECT="")
+   elif test $with_gtkhtml = yes; then
+      AC_CHECK_LIB(gtkhtml-2,html_document_new,AC_DEFINE(USE_LIBGTKHTML2),BROWSER_OBJECT="")
+   else
+      AC_CHECK_LIB($WEBKIT_LIB,webkit_web_view_new,AC_DEFINE(USE_WEBKIT),BROWSER_OBJECT="")
+      BROWSER_OBJECT=""
+   fi
    LIBS="$SAVE_LIBS"
 fi
 
@@ -177,6 +251,7 @@
 AC_SUBST(MKDIR)
 AC_SUBST(SHAREDFLAG)
 AC_SUBST(SOSUFFIX)
+AC_SUBST(SONAME)
 
 AC_SUBST(DW_SRC)
 AC_SUBST(DW_DEFINE)
@@ -184,7 +259,9 @@
 AC_SUBST(COMPAT_OBJECT)
 AC_SUBST(INSTALL_COMPAT)
 
+AC_SUBST(ARCH)
+
 AC_CONFIG_FILES([
 Makefile
-dw-config ])
+dwindows-config ])
 AC_OUTPUT