summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorDonald Carr <donald.carr@nokia.com>2012-03-07 14:07:07 +0000
committerQt by Nokia <qt-info@nokia.com>2012-03-21 03:03:29 +0100
commitb936b959650128bb8befaaa069477629105c680d (patch)
tree6e2a4a61d6f481859159a5ea56547ce3d47c0152 /configure
parent2003b83f6f09d478aa490334076d8870f6e32a6e (diff)
EGLFS: Integrate building into configure.
With the move to the QPA architecture EGL is now only required by individual platform plugins and the configure script has been adjusted to reflect this. Change-Id: Ieadacef0b970f29752d9e3e36a007e5cbb005b0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure139
1 files changed, 70 insertions, 69 deletions
diff --git a/configure b/configure
index 0ec2d92133..70979a398f 100755
--- a/configure
+++ b/configure
@@ -679,8 +679,7 @@ CFG_OPENVG=auto
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
@@ -708,6 +707,7 @@ CFG_XINPUT=runtime
CFG_XKB=auto
CFG_XCB=auto
CFG_XCB_LIMITED=yes
+CFG_EGLFS=auto
CFG_LIBUDEV=auto
CFG_OBSOLETE_WAYLAND=no
CFG_EVDEV=auto
@@ -893,7 +893,7 @@ while [ "$#" -gt 0 ]; do
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
;;
@@ -1165,9 +1165,6 @@ while [ "$#" -gt 0 ]; do
[ "$VAL" = "yes" ] || [ "$VAL" = "no" ] ||
[ "$VAL" = "es2" ]; then
CFG_OPENGL="$VAL"
- if [ "$VAL" = "es2" ]; then
- CFG_EGL="yes"
- fi
else
UNKNOWN_OPT=yes
fi
@@ -1175,9 +1172,6 @@ while [ "$#" -gt 0 ]; do
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
@@ -1654,6 +1648,13 @@ while [ "$#" -gt 0 ]; do
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"
@@ -2869,6 +2870,14 @@ if [ "$OPT_HELP" = "yes" ]; then
XCBN=" "
fi
+ if [ "$CFG_EGLFS" = "no" ]; then
+ EGLFSY=" "
+ EGLFSN="*"
+ else
+ EGLFSY="*"
+ EGLFSN=" "
+ fi
+
if [ "$CFG_XINPUT2" = "no" ]; then
X2Y=" "
X2N="*"
@@ -3191,6 +3200,9 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
$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
@@ -3309,12 +3321,6 @@ Qt/X11 only:
-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"
@@ -4103,6 +4109,14 @@ if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
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
@@ -4570,9 +4584,6 @@ if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
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!"
@@ -4914,7 +4925,6 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
fi
fi
-
if [ "$PLATFORM_QPA" = "yes" ]; then
# auto-detect OpenGL support (es2 = OpenGL ES 2.x)
if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
@@ -4984,6 +4994,7 @@ if [ "$PLATFORM_QPA" = "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
@@ -5101,6 +5112,31 @@ if [ "$PLATFORM_QPA" = "yes" ]; 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"
@@ -5116,13 +5152,13 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
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
@@ -5132,35 +5168,6 @@ if [ "$PLATFORM_QPA" = "yes" ]; then
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
@@ -5448,19 +5455,18 @@ else
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
@@ -6552,13 +6558,7 @@ elif [ "$CFG_OPENGL" = "es2" ]; then
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"
@@ -6614,6 +6614,7 @@ echo "Xrender support ........ $CFG_XRENDER"
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