# qmake configuration for the Raspberry Pi and Raspberry Pi 2

include(../common/freebsd_device_pre.conf)

QT_QPA_DEFAULT_PLATFORM = eglfs
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_brcm

QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/usr/local/lib
QMAKE_LIBDIR_EGL        = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBDIR_OPENVG     = $$QMAKE_LIBDIR_OPENGL_ES2

QMAKE_INCDIR_EGL        = $$[QT_SYSROOT]/usr/local/include \
                          $$[QT_SYSROOT]/usr/local/include/interface/vcos/pthreads \
                          $$[QT_SYSROOT]/usr/local/include/interface/vmcs_host/linux
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_INCDIR_OPENVG     = $${QMAKE_INCDIR_EGL}

QMAKE_LIBS_EGL          = -lEGL -lGLESv2
QMAKE_LIBS_OPENGL_ES2   = $${QMAKE_LIBS_EGL}
QMAKE_LIBS_OPENVG       = -lEGL -lOpenVG -lGLESv2

include(../common/freebsd_device_post.conf)

load(qt_config)
