diff options
Diffstat (limited to 'src/angle')
-rw-r--r-- | src/angle/src/QtANGLE/QtANGLE.pro (renamed from src/angle/src/libGLESv2/libGLESv2.pro) | 65 | ||||
-rw-r--r-- | src/angle/src/libEGL/libEGL.pro | 26 | ||||
-rw-r--r-- | src/angle/src/src.pro | 2 |
3 files changed, 61 insertions, 32 deletions
diff --git a/src/angle/src/libGLESv2/libGLESv2.pro b/src/angle/src/QtANGLE/QtANGLE.pro index b699ae159a..ee3111b6ee 100644 --- a/src/angle/src/libGLESv2/libGLESv2.pro +++ b/src/angle/src/QtANGLE/QtANGLE.pro @@ -1,10 +1,59 @@ CONFIG += simd no_batch include(../common/common.pri) +TARGET=$$qtLibraryTarget($${LIBQTANGLE_NAME}) DEF_FILE_TARGET=$${TARGET} -TARGET=$$qtLibraryTarget($${LIBGLESV2_NAME}) INCLUDEPATH += $$OUT_PWD/.. $$ANGLE_DIR/src/libANGLE +!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" + } +} + # Remember to adapt tools/configure/configureapp.cpp if the Direct X version changes. !winrt: \ LIBS_PRIVATE += -ld3d9 @@ -234,7 +283,8 @@ SOURCES += \ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0.cpp \ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0_ext.cpp \ $$ANGLE_DIR/src/libGLESv2/global_state.cpp \ - $$ANGLE_DIR/src/libGLESv2/libGLESv2.cpp + $$ANGLE_DIR/src/libGLESv2/libGLESv2.cpp \ + $$ANGLE_DIR/src/libEGL/libEGL.cpp SSE2_SOURCES += $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimageSSE2.cpp @@ -361,8 +411,8 @@ angle_d3d11 { } !static { - DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${DEF_FILE_TARGET}.def - mingw:equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${DEF_FILE_TARGET}_mingw32.def + 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 } @@ -610,5 +660,10 @@ gles3_headers.files = \ $$ANGLE_DIR/include/GLES3/gl3ext.h \ $$ANGLE_DIR/include/GLES3/gl3platform.h gles3_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/GLES3 -INSTALLS += khr_headers gles2_headers +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 += khr_headers gles2_headers egl_headers angle_d3d11: INSTALLS += gles3_headers diff --git a/src/angle/src/libEGL/libEGL.pro b/src/angle/src/libEGL/libEGL.pro deleted file mode 100644 index 860b60735e..0000000000 --- a/src/angle/src/libEGL/libEGL.pro +++ /dev/null @@ -1,26 +0,0 @@ -include(../common/common.pri) -DEF_FILE_TARGET=$${TARGET} -TARGET=$$qtLibraryTarget($${LIBEGL_NAME}) -winrt: LIBS_PRIVATE += -ld3d11 - -LIBS_PRIVATE += -ldxguid -L$$QT_BUILD_TREE/lib -l$$qtLibraryTarget($${LIBGLESV2_NAME}) - -DEFINES += GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI= LIBEGL_IMPLEMENTATION - -HEADERS += \ - $$ANGLE_DIR/src/libEGL/resource.h - -SOURCES += \ - $$ANGLE_DIR/src/libEGL/libEGL.cpp - -!static { - DEF_FILE = $$ANGLE_DIR/src/libEGL/$${DEF_FILE_TARGET}.def - mingw:equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libEGL/$${DEF_FILE_TARGET}_mingw32.def -} - -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 diff --git a/src/angle/src/src.pro b/src/angle/src/src.pro index d1f5f57591..77c3ee7198 100644 --- a/src/angle/src/src.pro +++ b/src/angle/src/src.pro @@ -1,3 +1,3 @@ TEMPLATE = subdirs -SUBDIRS += compiler libGLESv2 libEGL +SUBDIRS += compiler QtANGLE CONFIG += ordered |