blob: 0f8e4de53671b4523f1e2f59b57585e32af2ec06 [file] [log] [blame]
include(../common/gles_common.pri)
TARGET = $$qtLibraryTarget($${LIBQTANGLE_NAME})
DEF_FILE_TARGET = $${TARGET}
!build_pass {
# Merge libGLESv2 and libEGL .def files located under $$ANGLE_DIR into QtANGLE$${SUFFIX}.def
DEF_FILES = \
libGLESv2/libGLESv2 \
libEGL/libEGL
SUFFIX =
for (DEBUG_RELEASE, $$list(0 1)) {
DEF_MERGED = \
"LIBRARY $${LIBQTANGLE_NAME}$$SUFFIX" \
EXPORTS
mingw: SUFFIX = $${SUFFIX}_mingw32
PASS = 0
MAX_ORDINAL = 0
for (DEF_FILE, DEF_FILES) {
DEF_FILE_PATH = $$ANGLE_DIR/src/$$DEF_FILE$${SUFFIX}.def
DEF_SRC = $$cat($$DEF_FILE_PATH, lines)
DEF_MERGED += \
";" \
"; Generated from:" \
"; $$DEF_FILE_PATH"
for (line, DEF_SRC) {
!contains(line, "(LIBRARY.*|EXPORTS)") {
LINESPLIT = $$split(line, @)
!count(LINESPLIT, 1) {
equals(PASS, 1) {
# In the second .def file we must allocate new ordinals in order
# to not clash with the ordinals from the first file. We then start off
# from MAX_ORDINAL + 1 and increase sequentially
MAX_ORDINAL = $$num_add($$MAX_ORDINAL, 1)
line = $$section(line, @, 0, -2)@$$MAX_ORDINAL
} else {
ORDINAL = $$last(LINESPLIT)
greaterThan(ORDINAL, $$MAX_ORDINAL): \
MAX_ORDINAL = $$ORDINAL
}
}
DEF_MERGED += $$line
}
}
PASS = 1
}
write_file($${LIBQTANGLE_NAME}$${SUFFIX}.def, DEF_MERGED)|error()
SUFFIX = "d"
}
}
SOURCES += $$ANGLE_DIR/src/libEGL/libEGL.cpp
!static {
DEF_FILE = $$PWD/$${DEF_FILE_TARGET}.def
mingw: equals(QT_ARCH, i386): DEF_FILE = $$PWD/$${DEF_FILE_TARGET}_mingw32.def
} else {
DEFINES += DllMain=DllMain_ANGLE # prevent symbol from conflicting with the user's DllMain
}
egl_headers.files = \
$$ANGLE_DIR/include/EGL/egl.h \
$$ANGLE_DIR/include/EGL/eglext.h \
$$ANGLE_DIR/include/EGL/eglplatform.h
egl_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/EGL
INSTALLS += egl_headers