aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorguanghuafan <gfan@google.com>2016-03-31 12:02:44 -0700
committerCourtney Goeltzenleuchter <courtneygo@google.com>2016-03-31 20:09:47 -0600
commit5df5c53970125026553d8091e3801ded75a640f5 (patch)
treee9bcfacd170b217cc15af0779999bc0d56630dbd
parent5f1aee2bbdd8ca12bec0a4467ccf7341429b138e (diff)
downloadvulkan-validation-layers-5df5c53970125026553d8091e3801ded75a640f5.tar.gz
fixed issues in windows build
tested: windows/mac
-rw-r--r--build-android/android-generate.bat131
-rw-r--r--build-android/gradle-templates/win.template.gradle76
2 files changed, 137 insertions, 70 deletions
diff --git a/build-android/android-generate.bat b/build-android/android-generate.bat
index bef5cb6e6..303177eb6 100644
--- a/build-android/android-generate.bat
+++ b/build-android/android-generate.bat
@@ -1,70 +1,61 @@
-@echo off
-REM # Copyright 2015 The Android Open Source Project
-REM # Copyright (C) 2015 Valve Corporation
-REM
-REM # Licensed under the Apache License, Version 2.0 (the "License");
-REM # you may not use this file except in compliance with the License.
-REM # You may obtain a copy of the License at
-REM
-REM # http://www.apache.org/licenses/LICENSE-2.0
-REM
-REM # Unless required by applicable law or agreed to in writing, software
-REM # distributed under the License is distributed on an "AS IS" BASIS,
-REM # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-REM # See the License for the specific language governing permissions and
-REM # limitations under the License.
-
-if exist generated (
- rmdir /s /q generated
-)
-mkdir generated\include generated\common
-
-python ../vk-generate.py Android dispatch-table-ops layer > generated/include/vk_dispatch_table_helper.h
-
-python ../vk_helper.py --gen_enum_string_helper ../include/vulkan/vulkan.h --abs_out_dir generated/include
-python ../vk_helper.py --gen_struct_wrappers ../include/vulkan/vulkan.h --abs_out_dir generated/include
-
-python ../vk-layer-generate.py Android object_tracker ../include/vulkan/vulkan.h > generated/include/object_tracker.cpp
-python ../vk-layer-generate.py Android unique_objects ../include/vulkan/vulkan.h > generated/include/unique_objects.cpp
-
-cd generated/include
-python ../../../genvk.py threading -registry ../../../vk.xml thread_check.h
-python ../../../genvk.py paramchecker -registry ../../../vk.xml parameter_validation.h
-cd ../..
-
-copy /Y ..\layers\vk_layer_config.cpp generated\common\
-copy /Y ..\layers\vk_layer_extension_utils.cpp generated\common\
-copy /Y ..\layers\vk_layer_utils.cpp generated\common\
-copy /Y ..\layers\vk_layer_table.cpp generated\common\
-
-REM create build-script root directory
-mkdir generated\gradle-build
-cd generated\gradle-build
-mkdir core_validation device_limits image object_tracker parameter_validation swapchain threading unique_objects
-cd ..\..
-mkdir generated\layer-src
-cd generated\layer-src
-mkdir core_validation device_limits image object_tracker parameter_validation swapchain threading unique_objects
-cd ..\..
-xcopy /s gradle-templates\* generated\gradle-build\
-
-copy ..\layers\core_validation.cpp generated\layer-src\core_validation
-echo apply from: "../common.gradle" > generated\gradle-build\core_validation\build.gradle
-copy ..\layers\device_limits.cpp generated\layer-src\device_limits
-echo apply from: "../common.gradle" > generated\gradle-build\device_limits\build.gradle
-copy ..\layers\image.cpp generated\layer-src\image
-echo apply from: "../common.gradle" > generated\gradle-build\image\build.gradle
-copy ..\layers\parameter_validation.cpp generated\layer-src\parameter_validation
-echo apply from: "../common.gradle" > generated\gradle-build\parameter_validation\build.gradle
-copy ..\layers\swapchain.cpp generated\layer-src\swapchain
-echo apply from: "../common.gradle" > generated\gradle-build\swapchain\build.gradle
-copy ..\layers\threading.cpp generated\layer-src\threading
-echo apply from: "../common.gradle" > generated\gradle-build\threading\build.gradle
-copy generated\include\object_tracker.cpp generated\layer-src\object_tracker
-echo apply from: "../common.gradle" > generated\gradle-build\object_tracker\build.gradle
-copy generated\include\unique_objects.cpp generated\layer-src\unique_objects
-move generated\include\vk_safe_struct.cpp generated\layer-src\unique_objects\vk_safe_struct.cpp
-echo apply from: "../common.gradle" > generated\gradle-build\unique_objects\build.gradle
-
-del /f /q generated\include\object_tracker.cpp
-del /f /q generated\include\unique_objects.cpp
+@echo off
+REM # Copyright 2015 The Android Open Source Project
+REM # Copyright (C) 2015 Valve Corporation
+REM
+REM # Licensed under the Apache License, Version 2.0 (the "License");
+REM # you may not use this file except in compliance with the License.
+REM # You may obtain a copy of the License at
+REM
+REM # http://www.apache.org/licenses/LICENSE-2.0
+REM
+REM # Unless required by applicable law or agreed to in writing, software
+REM # distributed under the License is distributed on an "AS IS" BASIS,
+REM # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+REM # See the License for the specific language governing permissions and
+REM # limitations under the License.
+
+if exist generated (
+ rmdir /s /q generated
+)
+mkdir generated\include generated\common
+
+python ../vk-generate.py Android dispatch-table-ops layer > generated/include/vk_dispatch_table_helper.h
+
+python ../vk_helper.py --gen_enum_string_helper ../include/vulkan/vulkan.h --abs_out_dir generated/include
+python ../vk_helper.py --gen_struct_wrappers ../include/vulkan/vulkan.h --abs_out_dir generated/include
+
+python ../vk-layer-generate.py Android object_tracker ../include/vulkan/vulkan.h > generated/include/object_tracker.cpp
+python ../vk-layer-generate.py Android unique_objects ../include/vulkan/vulkan.h > generated/include/unique_objects.cpp
+
+cd generated/include
+python ../../../genvk.py threading -registry ../../../vk.xml thread_check.h
+python ../../../genvk.py paramchecker -registry ../../../vk.xml parameter_validation.h
+cd ../..
+
+copy /Y ..\layers\vk_layer_config.cpp generated\common\
+copy /Y ..\layers\vk_layer_extension_utils.cpp generated\common\
+copy /Y ..\layers\vk_layer_utils.cpp generated\common\
+copy /Y ..\layers\vk_layer_table.cpp generated\common\
+
+REM create build-script root directory
+mkdir generated\gradle-build
+cd generated\gradle-build
+mkdir core_validation device_limits image object_tracker parameter_validation swapchain threading unique_objects
+cd ..\..
+mkdir generated\layer-src
+cd generated\layer-src
+mkdir core_validation device_limits image object_tracker parameter_validation swapchain threading unique_objects
+cd ..\..
+xcopy /s gradle-templates\* generated\gradle-build\
+for %%G in (core_validation device_limits image parameter_validation swapchain threading) Do (
+ copy ..\layers\%%G.cpp generated\layer-src\%%G
+ echo apply from: "../win.template.gradle" > generated\gradle-build\%%G\build.gradle
+)
+copy generated\include\object_tracker.cpp generated\layer-src\object_tracker
+echo apply from: "../win.template.gradle" > generated\gradle-build\object_tracker\build.gradle
+copy generated\include\unique_objects.cpp generated\layer-src\unique_objects
+move generated\include\vk_safe_struct.cpp generated\layer-src\unique_objects\vk_safe_struct.cpp
+echo apply from: "../win.template.gradle" > generated\gradle-build\unique_objects\build.gradle
+
+del /f /q generated\include\object_tracker.cpp
+del /f /q generated\include\unique_objects.cpp
diff --git a/build-android/gradle-templates/win.template.gradle b/build-android/gradle-templates/win.template.gradle
new file mode 100644
index 000000000..036b32133
--- /dev/null
+++ b/build-android/gradle-templates/win.template.gradle
@@ -0,0 +1,76 @@
+// this template is for windows platform to build
+// need gcc, could not use clang
+// disable -Werror compile flag
+// This is temp workaround, clean fix will be provided soon so all OSes should use
+// common.gradle
+
+apply plugin: 'com.android.model.native'
+
+Properties properties = new Properties()
+properties.load(project.rootProject.file('local.properties').newDataInputStream())
+def ndkDir = properties.getProperty('ndk.dir')
+
+model {
+ android {
+ compileSdkVersion = 23
+ buildToolsVersion = "23.0.2"
+
+ defaultConfig.with {
+ minSdkVersion.apiLevel = 22
+ targetSdkVersion.apiLevel = 24
+ versionCode = 1
+ versionName = "0.0.1"
+ }
+ }
+
+ android.ndk {
+ moduleName = "VkLayer_${project.name}"
+ toolchain = "gcc"
+ stl = "gnustl_static"
+ ldLibs.addAll(["log", "android"])
+ cppFlags.addAll(["-std=c++11", "-DVK_PROTOTYPES", "-Wall",
+ "-Wno-unused-function", "-Wno-unused-const-variable",
+ "-DVK_USE_PLATFORM_ANDROID_KHR"])
+ cppFlags.addAll(["-I${file("../../../../layers")}".toString(),
+ "-I${file("../../../../include")}".toString(),
+ "-I${file("../../../../loader")}".toString(),
+ "-I${file("../../include")}".toString(),
+ "-I${file("../../../../../glslang")}".toString()])
+ }
+
+ android.sources {
+ main {
+ jni {
+ source {
+ srcDir "../../layer-src/${project.name}"
+ srcDir '../../common'
+
+ }
+ }
+ }
+ }
+
+ android.buildTypes {
+ release {
+ ndk.with {
+ debuggable = true
+ }
+ minifyEnabled = false
+ }
+ }
+ android.productFlavors {
+ create ("x86") {
+ ndk.abiFilters.add("x86")
+ }
+ create ("arm7") {
+ ndk.abiFilters.add("armeabi-v7a")
+ ndk.cppFlags.addAll(["-mhard-float", "-D_NDK_MATH_NO_SOFTFP=1", "-mfloat-abi=hard"])
+ ndk.ldLibs.add("m_hard")
+ ndk.ldFlags.add("-Wl,--no-warn-mismatch")
+ }
+ create ("all") {
+ ndk.abiFilters.addAll(["armeabi-v7a", 'arm64-v8a',
+ 'x86', 'x86_64'])
+ }
+ }
+}