2006-07-22 11:23:41 +00:00
|
|
|
dnl check a particular libname
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_DEFUN([QT_TRY_LINK],
|
2006-07-22 11:23:41 +00:00
|
|
|
[
|
|
|
|
SAVE_LIBS="$LIBS"
|
|
|
|
LIBS="$LIBS $1"
|
2019-06-12 16:10:13 +00:00
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
2017-10-11 10:02:25 +00:00
|
|
|
#include <qglobal.h>
|
|
|
|
#include <qstring.h>
|
2019-06-12 16:10:13 +00:00
|
|
|
]], [[
|
2006-07-22 11:23:41 +00:00
|
|
|
QString s("mangle_failure");
|
|
|
|
#if (QT_VERSION < 400)
|
|
|
|
break_me_(\\\);
|
|
|
|
#endif
|
2019-06-12 16:10:13 +00:00
|
|
|
]])],[qt_cv_libname=$1],[])
|
2006-07-22 11:23:41 +00:00
|
|
|
LIBS="$SAVE_LIBS"
|
|
|
|
])
|
|
|
|
|
|
|
|
dnl check we can do a compile
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_DEFUN([QT_CHECK_COMPILE],
|
2006-07-22 11:23:41 +00:00
|
|
|
[
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_MSG_CHECKING([for Qt library name])
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_CACHE_VAL(qt_cv_libname,
|
2006-07-22 11:23:41 +00:00
|
|
|
[
|
|
|
|
SAVE_CXXFLAGS=$CXXFLAGS
|
2014-07-19 01:34:28 +00:00
|
|
|
CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
|
|
|
|
qt_corelibs="-lQtCore -lQtCore4"
|
|
|
|
qt_guilibs="'-lQtCore -lQtGui' '-lQtCore4 -lQtGui4'"
|
|
|
|
if test $USE_QT5 = "yes" ; then
|
|
|
|
qt_corelibs="-lQt5Core"
|
2015-05-20 09:04:10 +00:00
|
|
|
qt_guilibs="-lQt5Core -lQt5Concurrent -lQt5Gui -lQt5Svg -lQt5Widgets"
|
2014-07-19 01:34:28 +00:00
|
|
|
fi
|
|
|
|
for libname in $qt_corelibs '-framework QtCore'
|
Make libQtCore a support library like boost and implement encoding conversion
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
2006-12-12 20:19:46 +00:00
|
|
|
do
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_TRY_LINK($libname)
|
|
|
|
if test -n "$qt_cv_libname"; then
|
|
|
|
QT_CORE_LIB="$qt_cv_libname"
|
Make libQtCore a support library like boost and implement encoding conversion
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
2006-12-12 20:19:46 +00:00
|
|
|
break;
|
|
|
|
fi
|
|
|
|
done
|
2014-07-19 01:34:28 +00:00
|
|
|
qt_cv_libname=
|
|
|
|
for libname in $qt_guilibs \
|
2015-05-19 06:11:01 +00:00
|
|
|
'-framework QtCore -framework QtConcurrent -framework QtSvg -framework QtWidgets -framework QtMacExtras -framework QtGui'\
|
2010-09-28 19:27:10 +00:00
|
|
|
'-framework QtCore -framework QtGui'
|
2006-07-22 11:23:41 +00:00
|
|
|
do
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_TRY_LINK($libname)
|
|
|
|
if test -n "$qt_cv_libname"; then
|
2006-07-22 11:23:41 +00:00
|
|
|
break;
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
CXXFLAGS=$SAVE_CXXFLAGS
|
|
|
|
])
|
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -z "$qt_cv_libname"; then
|
2018-08-27 14:31:51 +00:00
|
|
|
if test x$USE_QT5 = xyes ; then
|
|
|
|
AC_MSG_RESULT([failed, retrying with Qt4])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([failed])
|
|
|
|
AC_MSG_ERROR([cannot compile a simple Qt executable. Check you have the right \$QTDIR.])
|
|
|
|
fi
|
2006-07-22 11:23:41 +00:00
|
|
|
else
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_MSG_RESULT([$qt_cv_libname])
|
2006-07-22 11:23:41 +00:00
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
2013-07-09 15:20:25 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_DEFUN([QT_FIND_TOOL],
|
2013-07-09 15:20:25 +00:00
|
|
|
[
|
|
|
|
$1=
|
2014-07-19 01:34:28 +00:00
|
|
|
qt_ext=qt4
|
|
|
|
if test "x$USE_QT5" != "xno" ; then
|
|
|
|
qt_ext=qt5
|
|
|
|
fi
|
2016-07-04 14:22:57 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -n "$qt_cv_bin" ; then
|
2016-07-07 21:12:07 +00:00
|
|
|
AC_PATH_PROGS($1, [$2], [], $qt_cv_bin)
|
|
|
|
elif qtchooser -l 2>/dev/null | grep -q ^$qt_ext\$ >/dev/null ; then
|
2016-07-17 10:31:24 +00:00
|
|
|
AC_PATH_PROG(qtc_path, qtchooser, [], [$PATH])
|
|
|
|
AC_PATH_PROG($2_path, $2, [], [$PATH])
|
2016-07-17 21:50:34 +00:00
|
|
|
qtc_path=`dirname "$qtc_path"`
|
|
|
|
$2_path=`dirname "$$2_path"`
|
2016-07-17 10:31:24 +00:00
|
|
|
if test "$qtc_path" = "$$2_path" ; then
|
|
|
|
AC_CHECK_PROG($1, $2, [$2 -qt=$qt_ext],, [$PATH])
|
|
|
|
fi
|
2013-07-09 15:20:25 +00:00
|
|
|
fi
|
|
|
|
if test -z "$$1"; then
|
2016-07-07 21:12:07 +00:00
|
|
|
AC_CHECK_PROGS($1, [$2-$qt_ext $2],[],$PATH)
|
2013-07-09 15:20:25 +00:00
|
|
|
fi
|
|
|
|
if test -z "$$1"; then
|
|
|
|
AC_MSG_ERROR([cannot find $2 binary.])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2006-07-22 11:23:41 +00:00
|
|
|
dnl get Qt version we're using
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_DEFUN([QT_GET_VERSION],
|
2006-07-22 11:23:41 +00:00
|
|
|
[
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_CACHE_CHECK([Qt version],lyx_cv_qtversion,
|
2006-07-22 11:23:41 +00:00
|
|
|
[
|
|
|
|
SAVE_CPPFLAGS=$CPPFLAGS
|
2014-07-19 01:34:28 +00:00
|
|
|
CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
|
2006-07-22 11:23:41 +00:00
|
|
|
|
|
|
|
cat > conftest.$ac_ext <<EOF
|
|
|
|
#line __oline__ "configure"
|
|
|
|
#include "confdefs.h"
|
2017-10-11 10:02:25 +00:00
|
|
|
#include <qglobal.h>
|
2006-07-22 11:23:41 +00:00
|
|
|
"%%%"QT_VERSION_STR"%%%"
|
|
|
|
EOF
|
2014-07-19 01:34:28 +00:00
|
|
|
lyx_cv_qtversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
|
2006-07-22 11:23:41 +00:00
|
|
|
grep '^"%%%"' 2>/dev/null | \
|
|
|
|
sed -e 's/"%%%"//g' -e 's/"//g'`
|
|
|
|
rm -f conftest.$ac_ext
|
|
|
|
CPPFLAGS=$SAVE_CPPFLAGS
|
|
|
|
])
|
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
QTLIB_VERSION=$lyx_cv_qtversion
|
|
|
|
AC_SUBST(QTLIB_VERSION)
|
2006-07-22 11:23:41 +00:00
|
|
|
])
|
|
|
|
|
|
|
|
dnl start here
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_DEFUN([QT_DO_IT_ALL],
|
2006-07-22 11:23:41 +00:00
|
|
|
[
|
|
|
|
dnl this variable is precious
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_ARG_VAR(QTDIR, [the place where the Qt files are, e.g. /usr/lib/qt4])
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2019-06-12 15:58:24 +00:00
|
|
|
AC_ARG_WITH(qt-dir, [AS_HELP_STRING([--with-qt-dir], [where the root of Qt is installed])],
|
2014-07-19 01:34:28 +00:00
|
|
|
[ qt_cv_dir=`eval echo "$withval"/` ])
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2019-06-12 15:58:24 +00:00
|
|
|
AC_ARG_WITH(qt-includes, [AS_HELP_STRING([--with-qt-includes], [where the Qt includes are])],
|
2014-07-19 01:34:28 +00:00
|
|
|
[ qt_cv_includes=`eval echo "$withval"` ])
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2019-06-12 15:58:24 +00:00
|
|
|
AC_ARG_WITH(qt-libraries, [AS_HELP_STRING([--with-qt-libraries], [where the Qt library is installed])],
|
2014-07-19 01:34:28 +00:00
|
|
|
[ qt_cv_libraries=`eval echo "$withval"` ])
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
dnl pay attention to $QTDIR unless overridden
|
|
|
|
if test -z "$qt_cv_dir"; then
|
|
|
|
qt_cv_dir=$QTDIR
|
2006-07-22 11:23:41 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
dnl derive inc/lib if needed
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -n "$qt_cv_dir"; then
|
|
|
|
if test -z "$qt_cv_includes"; then
|
|
|
|
qt_cv_includes=$qt_cv_dir/include
|
2006-07-22 11:23:41 +00:00
|
|
|
fi
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -z "$qt_cv_libraries"; then
|
|
|
|
qt_cv_libraries=$qt_cv_dir/lib
|
2006-07-22 11:23:41 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2006-08-24 09:33:14 +00:00
|
|
|
dnl compute the binary dir too
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -n "$qt_cv_dir"; then
|
|
|
|
qt_cv_bin=$qt_cv_dir/bin
|
2006-08-24 09:33:14 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
dnl Preprocessor flags
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_CPPFLAGS="-DQT_NO_STL -DQT_NO_KEYWORDS"
|
2006-08-24 09:33:14 +00:00
|
|
|
case ${host} in
|
2014-07-19 01:34:28 +00:00
|
|
|
*mingw*) QT_CPPFLAGS="-DQT_DLL $QT_CPPFLAGS";;
|
2006-08-24 09:33:14 +00:00
|
|
|
esac
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_SUBST(QT_CPPFLAGS)
|
2006-08-24 09:33:14 +00:00
|
|
|
|
|
|
|
dnl Check if it possible to do a pkg-config
|
2007-07-12 12:57:59 +00:00
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
if test -n "$PKG_CONFIG" ; then
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_DO_PKG_CONFIG
|
2007-07-12 12:57:59 +00:00
|
|
|
fi
|
2007-01-29 18:37:13 +00:00
|
|
|
if test "$pkg_failed" != "no" ; then
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_DO_MANUAL_CONFIG
|
2006-08-24 09:33:14 +00:00
|
|
|
fi
|
2013-03-19 11:59:38 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -z "$QT_LIB"; then
|
2018-08-27 14:31:51 +00:00
|
|
|
dnl Try again with Qt4 if configuring for Qt5 fails
|
|
|
|
if test x$USE_QT5 = xyes ; then
|
|
|
|
USE_QT5=no
|
|
|
|
AC_SUBST([USE_QT5])
|
|
|
|
if test -n "$PKG_CONFIG" ; then
|
|
|
|
QT_DO_PKG_CONFIG
|
|
|
|
fi
|
|
|
|
if test "$pkg_failed" != "no" ; then
|
|
|
|
QT_DO_MANUAL_CONFIG
|
|
|
|
fi
|
|
|
|
if test -z "$QT_LIB"; then
|
|
|
|
AC_MSG_ERROR([cannot find qt libraries.])
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([cannot find qt libraries.])
|
|
|
|
fi
|
2013-03-19 15:17:40 +00:00
|
|
|
fi
|
|
|
|
|
2013-03-19 11:59:38 +00:00
|
|
|
dnl Check qt version
|
2014-07-19 01:34:28 +00:00
|
|
|
AS_VERSION_COMPARE($QTLIB_VERSION, $1,
|
|
|
|
[AC_MSG_ERROR([LyX requires at least version $1 of Qt. Only version $QTLIB_VERSION has been found.])
|
2013-03-19 11:59:38 +00:00
|
|
|
])
|
|
|
|
|
2016-07-10 17:31:32 +00:00
|
|
|
save_CPPFLAGS=$CPPFLAGS
|
|
|
|
CPPFLAGS="$save_CPPFLAGS $QT_CORE_INCLUDES"
|
2017-02-07 10:29:30 +00:00
|
|
|
AC_CHECK_HEADER(QtGui/qtgui-config.h,
|
|
|
|
[lyx_qt5_config=QtGui/qtgui-config.h],
|
|
|
|
[lyx_qt5_config=qconfig.h],[-])
|
|
|
|
AC_MSG_CHECKING([whether Qt uses the X Window system])
|
2015-01-11 18:36:41 +00:00
|
|
|
if test x$USE_QT5 = xyes ; then
|
|
|
|
AC_EGREP_CPP(xcb,
|
2017-02-07 10:29:30 +00:00
|
|
|
[#include <$lyx_qt5_config>
|
2015-01-11 18:36:41 +00:00
|
|
|
QT_QPA_DEFAULT_PLATFORM_NAME],
|
|
|
|
[AC_MSG_RESULT(yes)
|
|
|
|
AC_DEFINE(QPA_XCB, 1, [Define if Qt uses the X Window System])],
|
|
|
|
[AC_MSG_RESULT(no)])
|
2016-07-10 17:31:32 +00:00
|
|
|
else
|
|
|
|
AC_PREPROC_IFELSE([AC_LANG_SOURCE([
|
2017-10-11 10:02:25 +00:00
|
|
|
[#include <qglobal.h>],
|
2016-07-10 17:31:32 +00:00
|
|
|
[#ifndef Q_WS_X11],
|
|
|
|
[#error Fail],
|
|
|
|
[#endif]])],
|
|
|
|
qt_use_x11=yes,
|
|
|
|
qt_use_x11=no)
|
|
|
|
AC_MSG_RESULT($qt_use_x11)
|
|
|
|
if test "x$qt_use_x11" = "xyes"; then
|
|
|
|
QT_LIB="$QT_LIB -lX11"
|
|
|
|
fi
|
2015-01-11 18:36:41 +00:00
|
|
|
fi
|
2016-07-10 17:31:32 +00:00
|
|
|
CPPFLAGS=$save_CPPFLAGS
|
2015-01-11 18:36:41 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_FIND_TOOL([QT_MOC], [moc])
|
|
|
|
QT_FIND_TOOL([QT_UIC], [uic])
|
|
|
|
QT_FIND_TOOL([QT_RCC], [rcc])
|
|
|
|
|
|
|
|
dnl Safety check
|
2018-01-05 18:27:24 +00:00
|
|
|
mocqtver=`$QT_MOC -v 2>&1 | sed -e 's/.*\([[0-9]]\.[[0-9]]*\.[[0-9]]\).*/\1/'`
|
2014-07-19 01:34:28 +00:00
|
|
|
if test "x$mocqtver" != "x$QTLIB_VERSION"; then
|
|
|
|
LYX_WARNING([The found moc compiler is for Qt $mocqtver but the Qt library version is $QTLIB_VERSION.])
|
|
|
|
fi
|
2006-08-24 09:33:14 +00:00
|
|
|
])
|
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_DEFUN([QT_DO_PKG_CONFIG],
|
2006-08-24 09:33:14 +00:00
|
|
|
[
|
2014-07-19 01:34:28 +00:00
|
|
|
dnl tell pkg-config to look also in $qt_cv_dir/lib.
|
2006-08-24 09:33:14 +00:00
|
|
|
save_PKG_CONFIG_PATH=$PKG_CONFIG_PATH
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -n "$qt_cv_dir" ; then
|
|
|
|
PKG_CONFIG_PATH=$qt_cv_dir/lib:$qt_cv_dir/lib/pkgconfig:$PKG_CONFIG_PATH
|
2006-08-24 09:33:14 +00:00
|
|
|
export PKG_CONFIG_PATH
|
|
|
|
fi
|
2014-07-19 01:34:28 +00:00
|
|
|
qt_corelibs="QtCore"
|
2015-07-12 16:32:41 +00:00
|
|
|
qt_guilibs="QtCore QtGui QtSvg"
|
2014-07-19 01:34:28 +00:00
|
|
|
if test "x$USE_QT5" != "xno" ; then
|
|
|
|
qt_corelibs="Qt5Core"
|
2015-05-20 09:04:10 +00:00
|
|
|
qt_guilibs="Qt5Core Qt5Concurrent Qt5Gui Qt5Svg Qt5Widgets"
|
2016-07-10 17:31:32 +00:00
|
|
|
lyx_use_x11extras=false
|
|
|
|
PKG_CHECK_EXISTS(Qt5X11Extras, [lyx_use_x11extras=true], [])
|
|
|
|
if $lyx_use_x11extras; then
|
|
|
|
qt_guilibs="$qt_guilibs Qt5X11Extras xcb"
|
|
|
|
AC_DEFINE(HAVE_QT5_X11_EXTRAS, 1,
|
|
|
|
[Define if you have the Qt5X11Extras module])
|
|
|
|
fi
|
2014-12-26 15:53:31 +00:00
|
|
|
lyx_use_winextras=false
|
|
|
|
PKG_CHECK_EXISTS(Qt5WinExtras, [lyx_use_winextras=true], [])
|
|
|
|
if $lyx_use_winextras; then
|
|
|
|
qt_guilibs="$qt_guilibs Qt5WinExtras"
|
|
|
|
fi
|
2015-01-01 17:44:01 +00:00
|
|
|
lyx_use_macextras=false
|
2014-12-28 23:18:40 +00:00
|
|
|
PKG_CHECK_EXISTS(Qt5MacExtras, [lyx_use_macextras=true], [])
|
|
|
|
if $lyx_use_macextras; then
|
|
|
|
qt_guilibs="$qt_guilibs Qt5MacExtras"
|
|
|
|
fi
|
2014-07-19 01:34:28 +00:00
|
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(QT_CORE, $qt_corelibs,,[:])
|
2007-05-30 06:00:31 +00:00
|
|
|
if test "$pkg_failed" = "no" ; then
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_CORE_INCLUDES=$QT_CORE_CFLAGS
|
|
|
|
AC_SUBST(QT_CORE_INCLUDES)
|
|
|
|
QT_CORE_LDFLAGS=`$PKG_CONFIG --libs-only-L $qt_corelibs`
|
|
|
|
AC_SUBST(QT_CORE_LDFLAGS)
|
|
|
|
QT_CORE_LIB=`$PKG_CONFIG --libs-only-l $qt_corelibs`
|
|
|
|
AC_SUBST(QT_CORE_LIB)
|
Make libQtCore a support library like boost and implement encoding conversion
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
2006-12-12 20:19:46 +00:00
|
|
|
fi
|
2014-07-19 01:34:28 +00:00
|
|
|
PKG_CHECK_MODULES(QT_FRONTEND, $qt_guilibs,,[:])
|
2007-05-30 06:00:31 +00:00
|
|
|
if test "$pkg_failed" = "no" ; then
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_INCLUDES=$QT_FRONTEND_CFLAGS
|
|
|
|
dnl QT_LDFLAGS=$QT_FRONTEND_LIBS
|
|
|
|
QT_LDFLAGS=`$PKG_CONFIG --libs-only-L $qt_guilibs`
|
|
|
|
AC_SUBST(QT_INCLUDES)
|
|
|
|
AC_SUBST(QT_LDFLAGS)
|
|
|
|
QTLIB_VERSION=`$PKG_CONFIG --modversion $qt_corelibs`
|
|
|
|
AC_SUBST(QTLIB_VERSION)
|
|
|
|
QT_LIB=`$PKG_CONFIG --libs-only-l $qt_guilibs`
|
|
|
|
AC_SUBST(QT_LIB)
|
|
|
|
dnl LIBS="$LIBS `$PKG_CONFIG --libs-only-other $qt_guilibs`"
|
2006-08-24 09:33:14 +00:00
|
|
|
fi
|
|
|
|
PKG_CONFIG_PATH=$save_PKG_CONFIG_PATH
|
2014-07-19 01:34:28 +00:00
|
|
|
dnl Actually, the values of QT_LIB and QT_CORE_LIB can be completely
|
2013-07-14 18:27:52 +00:00
|
|
|
dnl wrong on OS X, where everything goes to --libs-only-other.
|
|
|
|
dnl As a quick workaround, let us assign better values. A better patch
|
|
|
|
dnl exists for next cycle.
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_CORE_LIB=$QT_CORE_LIBS
|
|
|
|
QT_CORE_LDFLAGS=
|
|
|
|
QT_LIB=$QT_FRONTEND_LIBS
|
|
|
|
QT_LDFLAGS=
|
2006-08-24 09:33:14 +00:00
|
|
|
])
|
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_DEFUN([QT_DO_MANUAL_CONFIG],
|
2006-08-24 09:33:14 +00:00
|
|
|
[
|
2008-10-09 14:10:09 +00:00
|
|
|
dnl Check for X libraries
|
2016-05-05 10:41:24 +00:00
|
|
|
case ${host} in
|
|
|
|
*mingw*) ;;
|
|
|
|
*) \
|
|
|
|
AC_PATH_X \
|
|
|
|
AC_PATH_XTRA \
|
|
|
|
;;
|
|
|
|
esac
|
2008-10-09 14:10:09 +00:00
|
|
|
case $have_x in
|
|
|
|
yes) LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
|
|
|
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS";;
|
2013-03-19 13:21:57 +00:00
|
|
|
no) AC_MSG_ERROR([cannot find X window libraries and/or headers.]);;
|
2008-10-09 14:10:09 +00:00
|
|
|
disable) ;;
|
|
|
|
esac
|
|
|
|
|
2006-07-22 11:23:41 +00:00
|
|
|
dnl flags for compilation
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_INCLUDES=
|
|
|
|
QT_LDFLAGS=
|
|
|
|
QT_CORE_INCLUDES=
|
|
|
|
QT_CORE_LDFLAGS=
|
|
|
|
if test -n "$qt_cv_includes"; then
|
|
|
|
QT_INCLUDES="-I$qt_cv_includes"
|
2015-05-19 06:11:01 +00:00
|
|
|
for i in Qt QtCore QtGui QtWidgets QtSvg QtConcurrent QtMacExtras; do
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_INCLUDES="$QT_INCLUDES -I$qt_cv_includes/$i"
|
2006-07-22 11:23:41 +00:00
|
|
|
done
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_CORE_INCLUDES="-I$qt_cv_includes -I$qt_cv_includes/QtCore"
|
2006-07-22 11:23:41 +00:00
|
|
|
fi
|
2014-07-19 01:34:28 +00:00
|
|
|
case "$qt_cv_libraries" in
|
2012-09-23 13:04:53 +00:00
|
|
|
*framework*)
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_LDFLAGS="-F$qt_cv_libraries"
|
|
|
|
QT_CORE_LDFLAGS="-F$qt_cv_libraries"
|
2012-09-23 13:04:53 +00:00
|
|
|
;;
|
|
|
|
"")
|
|
|
|
;;
|
|
|
|
*)
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_LDFLAGS="-L$qt_cv_libraries"
|
|
|
|
QT_CORE_LDFLAGS="-L$qt_cv_libraries"
|
2012-09-23 13:04:53 +00:00
|
|
|
;;
|
|
|
|
esac
|
2014-07-19 01:34:28 +00:00
|
|
|
AC_SUBST(QT_INCLUDES)
|
|
|
|
AC_SUBST(QT_CORE_INCLUDES)
|
|
|
|
AC_SUBST(QT_LDFLAGS)
|
|
|
|
AC_SUBST(QT_CORE_LDFLAGS)
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_CHECK_COMPILE
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
QT_LIB=$qt_cv_libname;
|
|
|
|
AC_SUBST(QT_LIB)
|
|
|
|
AC_SUBST(QT_CORE_LIB)
|
2006-07-22 11:23:41 +00:00
|
|
|
|
2014-07-19 01:34:28 +00:00
|
|
|
if test -n "$qt_cv_libname"; then
|
|
|
|
QT_GET_VERSION
|
2006-07-22 11:23:41 +00:00
|
|
|
fi
|
|
|
|
])
|