blob: 662c4f01eac1454d41c5e9880af36084b5983e5d [file] [log] [blame]
guanghuafanb79e94a2016-03-29 11:08:23 -07001#!/bin/bash
2
3# Copyright 2015 The Android Open Source Project
4# Copyright (C) 2015 Valve Corporation
5
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9
10# http://www.apache.org/licenses/LICENSE-2.0
11
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17
18dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
19cd $dir
20
21rm -rf generated
22mkdir -p generated/include generated/common
23
Mark Lobodzinski7cb9ccd2017-01-10 11:55:48 -070024( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_safe_struct.h )
25( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_safe_struct.cpp )
Mark Lobodzinski8c4492b2017-01-10 13:59:58 -070026( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_struct_size_helper.h )
27( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_struct_size_helper.c )
Mark Lobodzinski6cb3e662016-12-27 14:47:47 -070028( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_enum_string_helper.h )
Mark Lobodzinski68498842016-12-12 12:05:44 -070029( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml vk_dispatch_table_helper.h )
30( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml thread_check.h )
31( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml parameter_validation.h )
32( cd generated/include; python3 ../../../scripts/lvl_genvk.py -registry ../../../scripts/vk.xml unique_objects_wrappers.h )
guanghuafanb79e94a2016-03-29 11:08:23 -070033
34cp -f ../layers/vk_layer_config.cpp generated/common/
35cp -f ../layers/vk_layer_extension_utils.cpp generated/common/
36cp -f ../layers/vk_layer_utils.cpp generated/common/
37cp -f ../layers/vk_layer_table.cpp generated/common/
Tobin Ehlis0a43bde2016-05-03 08:31:08 -060038cp -f ../layers/descriptor_sets.cpp generated/common/
Mark Lobodzinski42fe5f72017-01-11 11:36:16 -070039cp -f ../layers/buffer_validation.cpp generated/common/
guanghuafanb79e94a2016-03-29 11:08:23 -070040
41# layer names and their original source files directory
42# 1 to 1 correspondence -- one layer one source file; additional files are copied
43# at fixup step
Mark Lobodzinski1b4beeb2016-06-29 13:58:52 -060044declare layers=(core_validation image object_tracker parameter_validation swapchain threading unique_objects)
Mark Lobodzinskidc3bd852016-09-06 16:12:23 -060045declare src_dirs=(../layers ../layers ../layers ../layers ../layers ../layers ../layers)
guanghuafanb79e94a2016-03-29 11:08:23 -070046
47SRC_ROOT=generated/layer-src
48BUILD_ROOT=generated/gradle-build
49
50# create build-script root directory
51cp -fr gradle-templates generated/gradle-build
52for ((i = 0; i < ${#layers[@]}; i++))
53do
54# copy the sources
55 mkdir -p ${SRC_ROOT}/${layers[i]}
56 cp -f ${src_dirs[i]}/${layers[i]}.cpp ${SRC_ROOT}/${layers[i]}/
57
58# copy build scripts
59 mkdir -p ${BUILD_ROOT}/${layers[i]}
60 echo "apply from: \"../common.gradle\"" > ${BUILD_ROOT}/${layers[i]}/build.gradle
61done
62
63# fixup - unique_objects need one more file
Tobin Ehlis0a43bde2016-05-03 08:31:08 -060064cp generated/common/descriptor_sets.cpp ${SRC_ROOT}/core_validation/descriptor_sets.cpp
Mark Lobodzinski42fe5f72017-01-11 11:36:16 -070065cp generated/common/buffer_validation.cpp ${SRC_ROOT}/core_validation/buffer_validation.cpp
Cody Northrop0f808b32016-04-07 13:50:07 -060066cp generated/include/vk_safe_struct.cpp ${SRC_ROOT}/core_validation/vk_safe_struct.cpp
guanghuafanb79e94a2016-03-29 11:08:23 -070067mv generated/include/vk_safe_struct.cpp ${SRC_ROOT}/unique_objects/vk_safe_struct.cpp
68
guanghuafanb79e94a2016-03-29 11:08:23 -070069exit 0