diff -Nur gcin-2.6.5.orig/Makefile gcin-2.6.5/Makefile
--- gcin-2.6.5.orig/Makefile	2011-12-19 10:45:09.000000000 +0800
+++ gcin-2.6.5/Makefile	2011-12-26 00:44:04.394306131 +0800
@@ -89,9 +89,9 @@
 
 all:	$(PROGS) trad2sim $(GCIN_SO) $(DATA) $(PROGS_CV) gcin.spec gcin-fedora.spec
 	$(MAKE) -C data
-	$(MAKE) -C gtk-im
 	if [ $(BUILD_MODULE) = 'Y' ]; then $(MAKE) -C modules; fi
 	if [ $(USE_I18N) = 'Y' ]; then $(MAKE) -C po; fi
+	if [ $(GTK_IM) = 'Y' ]; then $(MAKE) -C gtk-im; fi
 	if [ $(GTK3_IM) = 'Y' ]; then $(MAKE) -C gtk3-im; fi
 	if [ $(QT_IM) = 'Y' ]; then $(MAKE) -C qt-im; fi
 	if [ $(QT4_IM) = 'Y' ]; then $(MAKE) -C qt4-im; fi
@@ -203,8 +203,8 @@
 	install -d $(bindir)
 	$(MAKE) -C data install
 	$(MAKE) -C im-client install
-	$(MAKE) -C gtk-im install
 	if [ $(BUILD_MODULE) = 'Y' ]; then $(MAKE) -C modules install; fi
+	if [ $(GTK_IM) = 'Y' ]; then $(MAKE) -C gtk-im install; fi
 	if [ $(GTK3_IM) = 'Y' ]; then $(MAKE) -C gtk3-im install; fi
 	if [ $(QT_IM) = 'Y' ]; then $(MAKE) -C qt-im install; fi
 	if [ $(QT4_IM) = 'Y' ]; then $(MAKE) -C qt4-im install; fi
@@ -229,8 +229,8 @@
 	$(MAKE) -C data clean
 	$(MAKE) -C scripts clean
 	$(MAKE) -C im-client clean
-	$(MAKE) -C gtk-im clean
 	$(MAKE) -C modules clean
+	if [ $(GTK_IM) = 'Y' ]; then $(MAKE) -C gtk-im clean; fi
 	if [ $(GTK3_IM) = 'Y' ]; then $(MAKE) -C gtk3-im clean; fi
 	$(MAKE) -C qt-im clean
 	$(MAKE) -C qt4-im clean
diff -Nur gcin-2.6.5.orig/configure gcin-2.6.5/configure
--- gcin-2.6.5.orig/configure	2011-12-19 11:53:31.000000000 +0800
+++ gcin-2.6.5/configure	2011-12-26 00:44:04.390306249 +0800
@@ -3,8 +3,9 @@
 
 if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-help" ]; then
     echo "** valid options:"
+    echo "  --with_gtk3    : compile with GTK+ 3.x"
     echo "  --use_xim=N    : disable the support of XIM"
-    echo "  --prefix=dir_name : install prefix(e.g. /usr)"
+    echo "  --prefix=dir_name : install prefix (e.g. /usr)"
     echo "  --use_tray=N   : disable system tray"
     echo "  --use_i18n=Y   : enable i18n"
     echo "  --use_tsin=N   : disable Tsin input method"
@@ -13,6 +14,7 @@
     echo "  --use_gcb=N    : disable gcb (gtk copy-paste buffer)"
     echo "  --use_qt3=N    : disable Qt3 immodule"
     echo "  --use_qt4=N    : disable Qt4 immodule"
+    echo "  --use_gtk=N   : disable GTK+ 2.x immodule when using --with_gtk3)"
     echo "  --use_gtk3=N   : disable GTK+ 3.x immodule"
     exit
 fi
@@ -54,6 +56,7 @@
 use_chewing='Y'
 use_qt3='N'
 use_qt4='Y'
+use_gtk='Y'
 use_gtk3='Y'
 
 if [ "$GCIN_USE_XIM" ]; then
@@ -62,6 +65,8 @@
 
 for opt do
   case "$opt" in
+  --with_gtk3) GTK=gtk+-3.0
+  ;;
   --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
   ;;
   --use_xim=*) use_xim=`echo $opt | cut -d '=' -f 2`
@@ -74,31 +79,42 @@
   ;;
   --use_gcb=*) use_gcb=`echo $opt | cut -d '=' -f 2`
   ;;
-  --use_anthy*) use_anthy=`echo $opt | cut -d '=' -f 2`
+  --use_anthy=*) use_anthy=`echo $opt | cut -d '=' -f 2`
+  ;;
+  --use_chewing=*) use_chewing=`echo $opt | cut -d '=' -f 2`
   ;;
-  --use_chewing*) use_chewing=`echo $opt | cut -d '=' -f 2`
+  --use_qt3=*) use_qt3=`echo $opt | cut -d '=' -f 2`
   ;;
-  --use_qt3*) use_qt3=`echo $opt | cut -d '=' -f 2`
+  --use_qt4=*) use_qt4=`echo $opt | cut -d '=' -f 2`
   ;;
-  --use_qt4*) use_qt4=`echo $opt | cut -d '=' -f 2`
+  --use_gtk=*) use_gtk=`echo $opt | cut -d '=' -f 2`
+  ;;
+  --use_gtk3=*) use_gtk3=`echo $opt | cut -d '=' -f 2`
   ;;
-  --use_gtk3*) use_gtk3=`echo $opt | cut -d '=' -f 2`
   esac
 done
 
 echo "prefix: $prefix"
 
-
-GTK=gtk+-2.0
+if [ -z "$GTK" ]; then
+  GTK=gtk+-2.0
+fi
 
 echo -n ".... Testing $GTK : "
 
 GTKINC=`pkg-config --cflags $GTK`
 
 if [ $? != 0 ]; then
-  echo "$GTK or above required --cflags"
-  rm -f config.mak
-  exit -1;
+  GTK=gtk+-3.0
+  echo -n ".... Testing $GTK : "
+  
+  GTKINC=`pkg-config --cflags $GTK`
+  
+  if [ $? != 0 ]; then
+    echo "$GTK or above required --cflags"
+    rm -f config.mak
+    exit -1;
+  fi
 fi
 
 ## problem in MacOS, by candyz
@@ -206,6 +222,26 @@
     echo "-> No, you don't have. It's ok if you don't want Qt4 immodule."
 fi
 
+if [ "$GTK"=gtk+-3.0 ]; then
+  GTK_IM='N'
+  echo "testing if you have GTK+ 2.x support"
+  pkg-config --libs gtk+-2.0 > /dev/null 2> /dev/null
+  if [ $? = 0 ]; then
+    GTK_IM='Y'
+  fi
+  
+  if [ $GTK_IM = "Y" ]; then
+      if [ $use_gtk = "N" ]; then
+          GTK_IM='N'
+          echo "-> Yes, but disabled."
+      else
+          echo "-> Yes, you have GTK+ 2.x support."
+      fi
+  else
+      echo "-> No, you don't have. It's ok if you don't want GTK+ 2.x immodule."
+  fi
+fi
+
 GTK3_IM='N'
 echo "testing if you have GTK+ 3.x support"
 pkg-config --libs gtk+-3.0 > /dev/null 2> /dev/null
@@ -297,6 +333,7 @@
 echo "QT_IM_DIR=$QT_IM_DIR" >> config.mak
 echo "QT4_IM=$QT4_IM" >> config.mak
 echo "QT4_IM_DIR=$QT4_IM_DIR" >> config.mak
+echo "GTK_IM=$GTK_IM" >> config.mak
 echo "GTK3_IM=$GTK3_IM" >> config.mak
 echo "USE_XIM=$use_xim" >> config.mak
 echo "LIB=$LIB" >> config.mak
diff -Nur gcin-2.6.5.orig/im-client/Makefile gcin-2.6.5/im-client/Makefile
--- gcin-2.6.5.orig/im-client/Makefile	2011-12-17 14:16:17.000000000 +0800
+++ gcin-2.6.5/im-client/Makefile	2011-12-26 00:44:04.390306249 +0800
@@ -23,7 +23,7 @@
 	$(CC) $(SO_FLAGS) -Wl,-soname,libgcin-im-client.so.1 $(OBJS) -lX11 -o $@ -L/usr/X11R6/lib
 	ln -sf $(SOFILEVER) $(SOFILE)
 	ln -sf $(SOFILEVER) $(SOFILE).1
-	$(MAKE) -C ../gtk-im
+	if [ $(GTK_IM) = 'Y' ]; then $(MAKE) -C ../gtk-im; fi
 
 LOCALLIB=/usr/local/$(LIB)
 
