diff options
author | guanghuafan <gfan@google.com> | 2016-03-31 12:02:44 -0700 |
---|---|---|
committer | Courtney Goeltzenleuchter <courtneygo@google.com> | 2016-03-31 20:09:47 -0600 |
commit | 5df5c53970125026553d8091e3801ded75a640f5 (patch) | |
tree | e9bcfacd170b217cc15af0779999bc0d56630dbd | |
parent | 5f1aee2bbdd8ca12bec0a4467ccf7341429b138e (diff) | |
download | vulkan-validation-layers-5df5c53970125026553d8091e3801ded75a640f5.tar.gz |
fixed issues in windows build
tested: windows/mac
-rw-r--r-- | build-android/android-generate.bat | 131 | ||||
-rw-r--r-- | build-android/gradle-templates/win.template.gradle | 76 |
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'])
+ }
+ }
+}
|