#
# qmake configuration for the Jetson TK1 boards running Linux For Tegra
#
# Note that this environment has been tested with X11 only.
#
# A typical configure line might look like:
# configure \
#   -device linux-jetson-tk1-g++ \
#   -device-option CROSS_COMPILE=/opt/nvidia/toolchains/tegra-4.8.1-nv/usr/bin/arm-cortex_a15-linux-gnueabi/arm-cortex_a15-linux-gnueabi- \
#   -sysroot /opt/nvidia/l4t/targetfs

include(../common/linux_device_pre.conf)

QMAKE_INCDIR_POST += \
    $$[QT_SYSROOT]/usr/include \
    $$[QT_SYSROOT]/usr/include/arm-linux-gnueabihf

QMAKE_LIBDIR_POST += \
    $$[QT_SYSROOT]/usr/lib \
    $$[QT_SYSROOT]/lib/arm-linux-gnueabihf \
    $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf

QMAKE_RPATHLINKDIR_POST += \
    $$[QT_SYSROOT]/usr/lib \
    $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \
    $$[QT_SYSROOT]/lib/arm-linux-gnueabihf

DISTRO_OPTS                  += hard-float
COMPILER_FLAGS               += -mtune=cortex-a15 -march=armv7-a -mfpu=neon-vfpv4

EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice

include(../common/linux_arm_device_post.conf)
load(qt_config)
