mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 18:24:48 +00:00
fe5c73915e
from/to the local 8bit encoding with it. Only the autotools build system is updated, scons and cmake users need to add qt4 cpp flags when compiling libsupport, and link libsupport against libQtCore. * src/frontends/qt4/qt_helpers.[Ch] (toqstr, qchar_to_ucs4, ucs4_to_qchar, ucs4_to_qstring, qstring_to_ucs4, fromqstr): Move these qstring conversion functions from here ... * src/support/qstring_helpers.[Ch] ... to these new files * src/support/docstring.[Ch] (from_local8bit): new conversion function from local 8bit encoding to ucs4 (to_local8bit): new conversion function from ucs4 to local 8bit encoding to ucs4 (to_local8bit_failure): exception that is thrown by to_local8bit if the argument cannot be converted to the local encoding * src/support/filename.C (FileName::toFilesystemEncoding): implement with the help of QFile * src/support/Makefile.am: Add new files, qt4 cpp flags and link against libQtCore * src/client/client.C: Convert commandline input from local encoding to ucs4. Convert stuff that is sent to to the server to utf8, because LyX interprets it as utf8 on the other end of the pipe. * src/lyx_main.C (LyX::exec): convert commandline input from local encoding to utf8 (LyX::init): ditto (LyX::easyParse): ditto * development/scons/scons_manifest.py: Add new files * config/qt4.m4: Define new variables QT4_CORE_INCLUDES, QT4_CORE_LDFLAGS and QT4_CORE_LIB git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16257 a592a061-630c-0410-9148-cb99ea01b6c8
210 lines
4.9 KiB
Plaintext
210 lines
4.9 KiB
Plaintext
dnl check a particular libname
|
|
AC_DEFUN([QT4_TRY_LINK],
|
|
[
|
|
SAVE_LIBS="$LIBS"
|
|
LIBS="$LIBS $1"
|
|
AC_TRY_LINK([
|
|
#include <qglobal.h>
|
|
#include <qstring.h>
|
|
],
|
|
[
|
|
QString s("mangle_failure");
|
|
#if (QT_VERSION < 400)
|
|
break_me_(\\\);
|
|
#endif
|
|
],
|
|
qt4_cv_libname=$1,
|
|
)
|
|
LIBS="$SAVE_LIBS"
|
|
])
|
|
|
|
dnl check we can do a compile
|
|
AC_DEFUN([QT4_CHECK_COMPILE],
|
|
[
|
|
AC_MSG_CHECKING([for Qt 4 library name])
|
|
|
|
AC_CACHE_VAL(qt4_cv_libname,
|
|
[
|
|
AC_LANG_CPLUSPLUS
|
|
SAVE_CXXFLAGS=$CXXFLAGS
|
|
CXXFLAGS="$CXXFLAGS $QT4_INCLUDES $QT4_LDFLAGS"
|
|
for libname in '-lQtCore -lQtCore4'
|
|
do
|
|
QT4_TRY_LINK($libname)
|
|
if test -n "$qt4_cv_libname"; then
|
|
QT4_CORE_LIB="$qt4_cv_libname"
|
|
break;
|
|
fi
|
|
done
|
|
for libname in '-lQtCore -lQtGui' \
|
|
'-lQtCore4 -lQtGui4'
|
|
do
|
|
QT4_TRY_LINK($libname)
|
|
if test -n "$qt4_cv_libname"; then
|
|
break;
|
|
fi
|
|
done
|
|
CXXFLAGS=$SAVE_CXXFLAGS
|
|
])
|
|
|
|
if test -z "$qt4_cv_libname"; then
|
|
AC_MSG_RESULT([failed])
|
|
if test "$FATAL" = 1 ; then
|
|
AC_MSG_ERROR([Cannot compile a simple Qt 4 executable. Check you have the right \$QT4DIR !])
|
|
fi
|
|
else
|
|
AC_MSG_RESULT([$qt4_cv_libname])
|
|
fi
|
|
])
|
|
|
|
dnl get Qt version we're using
|
|
AC_DEFUN([QT4_GET_VERSION],
|
|
[
|
|
AC_CACHE_CHECK([Qt 4 version],lyx_cv_qt4version,
|
|
[
|
|
AC_LANG_CPLUSPLUS
|
|
SAVE_CPPFLAGS=$CPPFLAGS
|
|
CPPFLAGS="$CPPFLAGS $QT4_INCLUDES"
|
|
|
|
cat > conftest.$ac_ext <<EOF
|
|
#line __oline__ "configure"
|
|
#include "confdefs.h"
|
|
#include <qglobal.h>
|
|
"%%%"QT_VERSION_STR"%%%"
|
|
EOF
|
|
lyx_cv_qt4version=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
|
|
grep '^"%%%"' 2>/dev/null | \
|
|
sed -e 's/"%%%"//g' -e 's/"//g'`
|
|
rm -f conftest.$ac_ext
|
|
CPPFLAGS=$SAVE_CPPFLAGS
|
|
])
|
|
|
|
QT4_VERSION=$lyx_cv_qt4version
|
|
AC_SUBST(QT4_VERSION)
|
|
])
|
|
|
|
dnl start here
|
|
AC_DEFUN([QT4_DO_IT_ALL],
|
|
[
|
|
dnl this variable is precious
|
|
AC_ARG_VAR(QT4DIR, [the place where the Qt 4 files are, e.g. /usr/lib/qt4])
|
|
|
|
dnl Please leave this alone. I use this file in
|
|
dnl oprofile.
|
|
FATAL=0
|
|
|
|
AC_ARG_WITH(qt4-dir, [ --with-qt4-dir where the root of Qt 4 is installed ],
|
|
[ qt4_cv_dir=`eval echo "$withval"/` ])
|
|
|
|
AC_ARG_WITH(qt4-includes, [ --with-qt4-includes where the Qt 4 includes are. ],
|
|
[ qt4_cv_includes=`eval echo "$withval"` ])
|
|
|
|
AC_ARG_WITH(qt4-libraries, [ --with-qt4-libraries where the Qt 4 library is installed.],
|
|
[ qt4_cv_libraries=`eval echo "$withval"` ])
|
|
|
|
dnl pay attention to $QT4DIR unless overridden
|
|
if test -z "$qt4_cv_dir"; then
|
|
qt4_cv_dir=$QT4DIR
|
|
fi
|
|
|
|
dnl derive inc/lib if needed
|
|
if test -n "$qt4_cv_dir"; then
|
|
if test -z "$qt4_cv_includes"; then
|
|
qt4_cv_includes=$qt4_cv_dir/include
|
|
fi
|
|
if test -z "$qt4_cv_libraries"; then
|
|
qt4_cv_libraries=$qt4_cv_dir/lib
|
|
fi
|
|
fi
|
|
|
|
dnl compute the binary dir too
|
|
if test -n "$qt4_cv_dir"; then
|
|
qt4_cv_bin=$qt4_cv_dir/bin
|
|
fi
|
|
|
|
dnl Preprocessor flags
|
|
QT4_CPPFLAGS="-DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR -DQT_NO_STL -DQT_NO_KEYWORDS"
|
|
case ${host} in
|
|
*mingw*) QT4_CPPFLAGS="-DQT_DLL $QT4_CPPFLAGS";;
|
|
*cygwin*)
|
|
if test "x$with_x" = xno ; then
|
|
QT4_CPPFLAGS="$QT4_CPPFLAGS -DQ_CYGWIN_WIN"
|
|
fi;;
|
|
esac
|
|
AC_SUBST(QT4_CPPFLAGS)
|
|
|
|
dnl Check if it possible to do a pkg-config
|
|
QT4_DO_PKG_CONFIG
|
|
if test "$pkg_failed" != "no" ; then
|
|
QT4_DO_MANUAL_CONFIG
|
|
fi
|
|
AC_PATH_PROGS(MOC4, [moc-qt4 moc],[],$qt4_cv_bin:$PATH)
|
|
AC_PATH_PROGS(UIC4, [uic-qt4 uic],[],$qt4_cv_bin:$PATH)
|
|
])
|
|
|
|
AC_DEFUN([QT4_DO_PKG_CONFIG],
|
|
[
|
|
PKG_PROG_PKG_CONFIG
|
|
save_PKG_CONFIG_PATH=$PKG_CONFIG_PATH
|
|
if test -n "$qt4_cv_dir" ; then
|
|
PKG_CONFIG_PATH=$qt4_cv_dir/lib:$PKG_CONFIG_PATH
|
|
export PKG_CONFIG_PATH
|
|
fi
|
|
PKG_CHECK_MODULES(QT4_CORE, QtCore)
|
|
if test "$pkg_failed" == "no" ; then
|
|
QT4_CORE_INCLUDES=$QT4_CORE_CFLAGS
|
|
AC_SUBST(QT4_CORE_INCLUDES)
|
|
QT4_CORE_LDFLAGS=`$PKG_CONFIG --libs-only-L QtCore`
|
|
AC_SUBST(QT4_CORE_LDFLAGS)
|
|
QT4_CORE_LIB=`$PKG_CONFIG --libs-only-l QtCore`
|
|
AC_SUBST(QT4_CORE_LIB)
|
|
fi
|
|
PKG_CHECK_MODULES(QT4_FRONTEND, QtCore QtGui)
|
|
if test "$pkg_failed" == "no" ; then
|
|
QT4_INCLUDES=$QT4_FRONTEND_CFLAGS
|
|
dnl QT4_LDFLAGS=$QT4_FRONTEND_LIBS
|
|
QT4_LDFLAGS=`$PKG_CONFIG --libs-only-L QtCore QtGui`
|
|
AC_SUBST(QT4_INCLUDES)
|
|
AC_SUBST(QT4_LDFLAGS)
|
|
QT4_VERSION=`$PKG_CONFIG --modversion QtCore`
|
|
AC_SUBST(QT4_VERSION)
|
|
QT4_LIB=`$PKG_CONFIG --libs-only-l QtCore QtGui`
|
|
AC_SUBST(QT4_LIB)
|
|
fi
|
|
PKG_CONFIG_PATH=$save_PKG_CONFIG_PATH
|
|
])
|
|
|
|
AC_DEFUN([QT4_DO_MANUAL_CONFIG],
|
|
[
|
|
dnl flags for compilation
|
|
QT4_INCLUDES=
|
|
QT4_LDFLAGS=
|
|
QT4_CORE_INCLUDES=
|
|
QT4_CORE_LDFLAGS=
|
|
if test -n "$qt4_cv_includes"; then
|
|
QT4_INCLUDES="-I$qt4_cv_includes"
|
|
for i in Qt QtCore QtGui; do
|
|
QT4_INCLUDES="$QT4_INCLUDES -I$qt4_cv_includes/$i"
|
|
done
|
|
QT4_CORE_INCLUDES="-I$qt4_cv_includes -I$qt4_cv_includes/QtCore"
|
|
fi
|
|
if test -n "$qt4_cv_libraries"; then
|
|
QT4_LDFLAGS="-L$qt4_cv_libraries"
|
|
QT4_CORE_LDFLAGS="-L$qt4_cv_libraries"
|
|
fi
|
|
AC_SUBST(QT4_INCLUDES)
|
|
AC_SUBST(QT4_CORE_INCLUDES)
|
|
AC_SUBST(QT4_LDFLAGS)
|
|
AC_SUBST(QT4_CORE_LDFLAGS)
|
|
|
|
QT4_CHECK_COMPILE
|
|
|
|
QT4_LIB=$qt4_cv_libname;
|
|
AC_SUBST(QT4_LIB)
|
|
AC_SUBST(QT4_CORE_LIB)
|
|
|
|
if test -n "$qt4_cv_libname"; then
|
|
QT4_GET_VERSION
|
|
fi
|
|
])
|