#
# qmake configuration for the Tegra2 boards.
#
# This mkspec is based and tested on the TrimSlice using "Ubuntu Natty (11.04) - l4t.r15.01"-release.
# It might work with other boards and releases as well.
# A typical configure line looks like this:
# <path-to-qt-src>/configure -opensource -confirm-license -make libs -prefix /usr/local/Qt-5.0.0/Qt5-tegra2
# -device tegra2 -device-option CROSS_COMPILE=<path-to-crosstoolchain>/bin/arm-none-linux-gnueabi- \
# -sysroot <path-to-rootfs>

include(../common/linux_device_pre.conf)

QMAKE_INCDIR_POST      += $$[QT_SYSROOT]/usr/include

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

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

TEGRA2_CFLAGS           = -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-abi=softfp -mfpu=vfpv3-d16
QMAKE_CFLAGS           += $$TEGRA2_CFLAGS
QMAKE_CXXFLAGS         += $$TEGRA2_CFLAGS

include(../common/linux_arm_device_post.conf)

load(qt_config)
