Salome HOME
Porting on Mandriva 64
[modules/kernel.git] / salome_adm / unix / config_files / check_qt.m4
index 753521cf9fe43f0bdfa5adb55c9fecdeb08d2aa0..ba72a02d4b6c95fcf41399b0b5a32141cadb44ed 100644 (file)
@@ -26,8 +26,14 @@ AC_REQUIRE([AC_PROG_CXX])dnl
 AC_REQUIRE([AC_PROG_CPP])dnl
 AC_REQUIRE([AC_PROG_CXXCPP])dnl
 AC_REQUIRE([CHECK_OPENGL])dnl
+AC_REQUIRE([AC_LINKER_OPTIONS])dnl
 
 AC_CHECKING(for QT)
+
+if test "x$OpenGL_ok" != "xyes" ; then
+   AC_MSG_WARN(Qt needs OpenGL correct configuration, check configure output)
+fi
+
 qt_ok=yes
 
 AC_LANG_SAVE
@@ -37,6 +43,14 @@ if test "x$QTDIR" = "x"
 then
    AC_MSG_RESULT(please define QTDIR variable)
    qt_ok=no
+else
+   AC_MSG_RESULT(QTDIR is $QTDIR)
+   qt_inc_ok=no
+   QTINC=""
+   AC_CHECK_FILE(${QTDIR}/include/qt3/qglobal.h,QTINC="/qt3",QTINC="")
+   QT_VERS=`grep "QT_VERSION_STR" ${QTDIR}/include${QTINC}/qglobal.h | sed -e 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'`
+   AC_MSG_RESULT(Qt version is $QT_VERS)
+   QT_VERS="Qt_"`echo $QT_VERS | sed -e 's%\"%%g' -e 's%\.%_%g'`
 fi
 
 if  test "x$qt_ok" = "xyes"
@@ -80,24 +94,24 @@ QT_ROOT=$QTDIR
 
 if  test "x$qt_ok" = "xyes"
 then
-  AC_MSG_CHECKING(include of qt headers)
-
   CPPFLAGS_old=$CPPFLAGS
-  CPPFLAGS="$CPPFLAGS -I$QTDIR/include"
+  CPPFLAGS="$CPPFLAGS -I$QTDIR/include${QTINC}"
 
   AC_LANG_CPLUSPLUS
   AC_CHECK_HEADER(qaction.h,qt_ok=yes ,qt_ok=no)
 
   CPPFLAGS=$CPPFLAGS_old
 
+  AC_MSG_CHECKING(include of qt headers)
+
   if  test "x$qt_ok" = "xno"
   then
     AC_MSG_RESULT(qt headers not found, or too old qt version, in $QTDIR/include)
     AC_MSG_RESULT(QTDIR environment variable may be wrong)
   else
     AC_MSG_RESULT(yes)
-       QT_INCLUDES="-I${QT_ROOT}/include -DQT_THREAD_SUPPORT"
-    QT_MT_INCLUDES="-I${QT_ROOT}/include -DQT_THREAD_SUPPORT"
+    QT_INCLUDES="-I${QT_ROOT}/include${QTINC} -DQT_THREAD_SUPPORT -DQT_CLEAN_NAMESPACE"
+    QT_MT_INCLUDES="-I${QT_ROOT}/include${QTINC} -DQT_THREAD_SUPPORT -DQT_CLEAN_NAMESPACE"
   fi
 fi
 
@@ -105,10 +119,15 @@ if  test "x$qt_ok" = "xyes"
 then
   AC_MSG_CHECKING(linking qt library)
   LIBS_old=$LIBS
-  LIBS="$LIBS -L$QTDIR/lib -lqt-mt $OGL_LIBS"
+  if test "x$QTDIR" = "x/usr"
+  then
+    LIBS="$LIBS -lqt-mt $OGL_LIBS"
+  else
+    LIBS="$LIBS -L$QTDIR/lib${LIB_LOCATION_SUFFIX} -lqt-mt $OGL_LIBS"
+  fi
 
   CXXFLAGS_old=$CXXFLAGS
-  CXXFLAGS="$CXXFLAGS -I$QTDIR/include"
+  CXXFLAGS="$CXXFLAGS $QT_INCLUDES"
 
   AC_CACHE_VAL(salome_cv_lib_qt,[
     AC_TRY_LINK(
@@ -127,8 +146,14 @@ then
     AC_MSG_RESULT(QTDIR environment variable may be wrong)
   else
     AC_MSG_RESULT(yes)
-       QT_LIBS="-L$QTDIR/lib -lqt-mt"
-    QT_MT_LIBS="-L$QTDIR/lib -lqt-mt"
+    if test "x$QTDIR" = "x/usr"
+    then
+         QT_LIBS=" -lqt-mt"
+      QT_MT_LIBS=" -lqt-mt"
+    else
+         QT_LIBS="-L$QTDIR/lib${LIB_LOCATION_SUFFIX} -lqt-mt"
+      QT_MT_LIBS="-L$QTDIR/lib${LIB_LOCATION_SUFFIX} -lqt-mt"
+    fi
   fi
 
   LIBS=$LIBS_old
@@ -141,8 +166,10 @@ AC_SUBST(UIC)
 
 AC_SUBST(QT_ROOT)
 AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_MT_INCLUDES)
 AC_SUBST(QT_LIBS)
 AC_SUBST(QT_MT_LIBS)
+AC_SUBST(QT_VERS)
 
 AC_LANG_RESTORE