CFG_OPENVG_LC_INCLUDES=no
CFG_OPENVG_SHIVA=auto
CFG_OPENVG_ON_OPENGL=auto
-CFG_EGL=no
-CFG_EGL_GLES_INCLUDES=no
+CFG_EGL=auto
CFG_SSE=auto
CFG_FONTCONFIG=auto
CFG_LIBFREETYPE=auto
CFG_XKB=auto
CFG_XCB=auto
CFG_XCB_LIMITED=yes
+CFG_EGLFS=auto
CFG_LIBUDEV=auto
CFG_OBSOLETE_WAYLAND=no
CFG_EVDEV=auto
VAL=no
;;
#Qt style yes options
- -profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
+ -profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-xcb|-eglfs|-nis|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-debug-and-release|-exceptions|-harfbuzz|-prefix-install|-silent|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-phonon-backend|-audio-backend|-declarative-debug|-javascript-jit|-rpath|-force-pkg-config|-icu|-force-asserts|-testcocoon)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
[ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
[ "$VAL" = "es2" ]; then
CFG_OPENGL="$VAL"
- if [ "$VAL" = "es2" ]; then
- CFG_EGL="yes"
- fi
else
UNKNOWN_OPT=yes
fi
openvg)
if [ "$VAL" = "auto" ] || [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_OPENVG="$VAL"
- if [ "$CFG_EGL" = "no" ] && [ "$VAL" != "no" ]; then
- CFG_EGL=auto
- fi
else
UNKNOWN_OPT=yes
fi
wayland)
CFG_OBSOLETE_WAYLAND=yes
;;
+ eglfs)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_EGLFS="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
libudev)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_LIBUDEV="$VAL"
XCBN=" "
fi
+ if [ "$CFG_EGLFS" = "no" ]; then
+ EGLFSY=" "
+ EGLFSN="*"
+ else
+ EGLFSY="*"
+ EGLFSN=" "
+ fi
+
if [ "$CFG_XINPUT2" = "no" ]; then
X2Y=" "
X2N="*"
$XCBN -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
$XCBY -xcb ............... Compile Xcb support.
+ $EGLFSN -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
+ $EGLFSY -eglfs ............. Compile EGLFS support.
+
EOF
fi # X11
-system-nas-sound .. Use NAS libaudio from the operating system.
See http://radscan.com/nas.html
- -egl ............... Use EGL instead of GLX to manage contexts.
- When building for desktop OpenGL, this option will
- make Qt use EGL to manage contexts rather than the
- GLX, which is the default. Note: For OpenGL ES, EGL
- is always used.
-
-no-opengl ......... Do not support OpenGL.
+ -opengl <api> ...... Enable OpenGL support.
With no parameter, this will auto-detect the "best"
CFG_ACCESSIBILITY=yes
fi
+if [ "$CFG_EGLFS" = "yes" ]; then
+ if [ "$CFG_EGL" = "no" ]; then
+ echo "The EGLFS plugin requires EGL support and cannot be built"
+ exit 101
+ fi
+ CFG_EGL=yes
+fi
+
# auto-detect SQL-modules support
for _SQLDR in $CFG_SQL_AVAILABLE; do
case $_SQLDR in
CFG_OPENGL=desktop
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_OPENGL=es2
- if [ "$CFG_EGL" = "no" ]; then
- CFG_EGL=auto
- fi
else
if [ "$CFG_OPENGL" = "yes" ]; then
echo "All the OpenGL functionality tests failed!"
fi
fi
-
if [ "$PLATFORM_QPA" = "yes" ]; then
# auto-detect OpenGL support (es2 = OpenGL ES 2.x)
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
# Save these for a check later
ORIG_CFG_XCB="$CFG_XCB"
+ ORIG_CFG_EGLFS="$CFG_EGLFS"
if [ "$CFG_LIBUDEV" != "no" ]; then
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists libudev 2>/dev/null; then
QMAKE_DEFINES_XCB=QT_NO_XCB_XKB
fi
+ # EGL Support
+ if [ "$CFG_EGL" != "no" ]; then
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
+ QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
+ QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
+ QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
+ QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
+ QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
+ fi # detect EGL support
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/qpa/egl" "EGL" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
+ CFG_EGL=yes
+ elif [ "$CFG_EGL" = "yes" ]; then
+ echo " The EGL functionality test failed; EGL is required by some QPA plugins to manage contexts & surfaces."
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in ${XQMAKESPEC}."
+ exit 1
+ else
+ CFG_EGL=no
+ fi
+ fi
+
+ if [ "$CFG_EGLFS" != "no" ]; then
+ CFG_EGLFS="$CFG_EGL"
+ fi
+
if [ -n "$QMAKE_CFLAGS_XCB" ] || [ -n "$QMAKE_LIBS_XCB" ]; then
QMakeVar set QMAKE_CFLAGS_XCB "$QMAKE_CFLAGS_XCB"
QMakeVar set QMAKE_LIBS_XCB "$QMAKE_LIBS_XCB"
fi
if [ "$PLATFORM_QPA" = "yes" ] && [ "$BUILD_ON_MAC" = "no" ] && [ "$XPLATFORM_MINGW" = "no" ]; then
- if [ "$CFG_XCB" = "no" ]; then
+ if [ "$CFG_XCB" = "no" ] && [ "$CFG_EGLFS" = "no" ]; then
if [ "$QPA_PLATFORM_GUARD" = "yes" ] &&
- ( [ "$ORIG_CFG_XCB" = "auto" ] ); then
+ ( [ "$ORIG_CFG_XCB" = "auto" ] || [ "$ORIG_CFG_EGLFS" = "auto" ] ); then
echo "No QPA platform plugin enabled!"
echo " If you really want to build without a QPA platform plugin you must pass"
- echo " -no-xcb. Doing this will produce a Qt that"
- echo " cannot run GUI applications."
+ echo " -no-xcb and -no-eglfs to configure. Doing this will"
+ echo " produce a Qt that cannot run GUI applications."
echo " The dependencies needed for xcb to build are listed in"
echo " src/plugins/platforms/xcb/README"
exit 1
fi
-EGL_VARIANT=none
-# EGL Support
-if [ "$PLATFORM_X11" = "yes" ]; then
- if [ "$CFG_EGL" != "no" ]; then
- # detect EGL support
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/egl" "EGL (EGL/egl.h)" $L_FLAGS $I_FLAGS $l_FLAGS; then
- # EGL specified by QMAKE_*_EGL, included with <EGL/egl.h>
- EGL_VARIANT=regular
- CFG_EGL=yes
- fi
-
- if [ "$EGL_VARIANT" = "none" ]; then
- if [ "$CFG_EGL" = "yes" ]; then
- echo "The EGL functionality test failed!"
- echo " EGL is required for OpenGL ES to manage contexts & surfaces."
- echo " You might need to modify the include and library search paths by editing"
- echo " QMAKE_INCDIR_EGL, QMAKE_LIBDIR_EGL and QMAKE_LIBS_EGL in"
- echo " ${XQMAKESPEC}."
- exit 1
- fi
- CFG_EGL=no
- # If QtOpenGL would be built against OpenGL ES, disable it as we can't to that if EGL is missing
- if [ "$CFG_OPENGL" = "es2" ]; then
- CFG_OPENGL=no
- fi
- fi
- fi
-fi
-
[ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
# freetype support
QT_CONFIG="$QT_CONFIG accessibility"
fi
-# egl stuff does not belong in lighthouse, but rather in plugins
-if [ "$PLATFORM_QPA" = "yes" ]; then
- CFG_EGL="no"
-fi
-
# enable egl
-if [ "$CFG_EGL" = "no" ]; then
+if [ "$CFG_EGL" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG egl"
+else
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
+fi
+
+# enable eglfs
+if [ "$CFG_EGLFS" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG eglfs"
else
- QT_CONFIG="$QT_CONFIG egl"
- if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GLES_EGL"
- fi
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGLFS"
fi
# enable openvg
else
echo "OpenGL support ......... no"
fi
-if [ "$CFG_EGL" != "no" ]; then
- if [ "$CFG_EGL_GLES_INCLUDES" = "yes" ]; then
- echo "EGL support ............ yes <GLES/egl.h>"
- else
- echo "EGL support ............ yes <EGL/egl.h>"
- fi
-fi
+
if [ "$CFG_OPENVG" ]; then
if [ "$CFG_OPENVG_SHIVA" = "yes" ]; then
echo "OpenVG support ......... ShivaVG"
if [ "$XPLATFORM_MAEMO" = "yes" ] && [ "$CFG_XCB" = "yes" ]; then
echo "XInput2 support ........ $CFG_XINPUT2"
fi
+echo "EGLFS support .......... $CFG_EGLFS"
echo
# complain about not being able to use dynamic plugins if we are using a static build