blob: dee6354cbc70f414583d53202374204e1eb9cde8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
_BUNDLE_DELIM_JAVA=__DELIM_JAVA__
_BUNDLE_DELIM_RES=__DELIM_RES__
_BUNDLE_DELIM_ASSETS=__DELIM_ASSETS__
_BUNDLE_DELIM_AIDL=__DELIM_AIDL__
_BUNDLE_EXTRA_INPUTS_VALUE=
### @usage: BUNDLE_EXTRA_INPUTS(filenames...) # internal
macro BUNDLE_EXTRA_INPUTS(INPUTS...) {
SET_APPEND(_BUNDLE_EXTRA_INPUTS_VALUE $INPUTS)
}
_BUNDLE_AIDL_SRCS_VALUE=
### @usage: BUNDLE_AIDL_SRCS(dirname filenames...) # internal
macro BUNDLE_AIDL_SRCS(PREFIX, ABSOLUTE[], FILES...) {
SET_APPEND(_BUNDLE_AIDL_SRCS_VALUE $_BUNDLE_DELIM_AIDL $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE})
BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE})
}
_BUNDLE_JAVA_SRCS_VALUE=
### @usage: BUNDLE_JAVA_SRCS(dirname filenames...) # internal
macro BUNDLE_JAVA_SRCS(PREFIX, ABSOLUTE[], FILES...) {
SET_APPEND(_BUNDLE_JAVA_SRCS_VALUE $_BUNDLE_DELIM_JAVA $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE})
BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE})
}
_BUNDLE_RES_SRCS_VALUE=
### @usage: BUNDLE_RES_SRCS(dirname filenames...) # internal
macro BUNDLE_RES_SRCS(PREFIX, ABSOLUTE[], FILES...) {
SET_APPEND(_BUNDLE_RES_SRCS_VALUE $_BUNDLE_DELIM_RES $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE})
BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE})
}
_BUNDLE_ASSETS_SRCS_VALUE=
### @usage: BUNDLE_ASSETS_SRCS(dirname filenames...) # internal
macro BUNDLE_ASSETS_SRCS(PREFIX, ABSOLUTE[], FILES...) {
SET_APPEND(_BUNDLE_ASSETS_SRCS_VALUE $_BUNDLE_DELIM_ASSETS $PREFIX ${pre=$PREFIX/:FILES} ${ABSOLUTE})
BUNDLE_EXTRA_INPUTS(${pre=$PREFIX/:FILES} ${ABSOLUTE})
}
_BUNDLE_SRCS_VALUE=$_BUNDLE_AIDL_SRCS_VALUE $_BUNDLE_ASSETS_SRCS_VALUE $_BUNDLE_JAVA_SRCS_VALUE $_BUNDLE_RES_SRCS_VALUE
macro _COMPILE_ASRC_IMPL(EXTRA_INPUTS...) {
.CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --input $_BUNDLE_SRCS_VALUE ${input;hide:EXTRA_INPUTS} --output $TARGET ${kv;hide:"p AC"} $kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
}
_COMPILE_ASRC=$_COMPILE_ASRC_IMPL($_ASRC_EXTRA_INPUTS_VALUE)
COMPILE_ASRC_MF=$_COMPILE_ASRC && $GENERATE_MF
### @usage: ASRC_LIBRARY() # internal
module ASRC_LIBRARY: _BASE_UNIT {
.CMD=COMPILE_ASRC_MF
.ALL_INS_TO_OUT=no
.PEERDIR_POLICY=as_include
.FINAL_TARGET=no
PEERDIR_TAGS=JAVA_PROTO JAVA_IDL
MODULE_TYPE=Library
SET(MODULE_SUFFIX .asrc)
SET(DONT_RESOLVE_INCLUDES yes)
SET(NEED_PLATFORM_PEERDIRS no)
NO_RUNTIME()
}
macro _MOBILE_LIBRARY_PREREQUISITES_IMPL(OUTPUT, EXTRA_INPUTS...) {
.CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --input $_BUNDLE_SRCS_VALUE --output $OUTPUT ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"}
}
macro _MOBILE_LIBRARY_PREREQUISITES_CMD(OUTPUT, EXTRA_INPUTS...) {
.CMD=${output;hide:OUTPUT} ${input;hide:EXTRA_INPUTS} ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"} $_MOBILE_LIBRARY_PREREQUISITES_IMPL($OUTPUT $EXTRA_INPUTS)
}
when ($OS_ANDROID == "yes") {
LINK_MOBILE_LIB=$LINK_LIB && $_MOBILE_LIBRARY_PREREQUISITES_CMD(${BINDIR}/$MODULE_PREFIX$REALPRJNAME$MODULE_SUFFIX.asrc $_BUNDLE_EXTRA_INPUTS_VALUE)
}
otherwise {
LINK_MOBILE_LIB=$LINK_LIB
}
### @usage: MOBILE_LIBRARY() # internal
module MOBILE_LIBRARY: LIBRARY {
.CMD=LINK_MOBILE_LIB
DISABLE(NEED_ADD_FAKE_SRC)
}
_JSRC_PROXY_MOBILE_LIBRARY_CMDLINE=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --jsrcs ${ext=.jsrc;tags_in=local:PEERS} --input $_BUNDLE_SRCS_VALUE ${input;hide:EXTRA_INPUTS} --output ${output;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.asrc:REALPRJNAME} ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"}
macro _JSRC_PROXY_MOBILE_LIBRARY_CMD_IMPL(EXTRA_INPUTS...) {
.CMD=$_JSRC_PROXY_MOBILE_LIBRARY_CMDLINE
}
JSRC_PROXY_MOBILE_LIBRARY_CMD=$LINK_LIB && $_JSRC_PROXY_MOBILE_LIBRARY_CMD_IMPL($_BUNDLE_EXTRA_INPUTS_VALUE)
### @usage: JSRC_PROXY_MOBILE_LIBRARY() # internal
module JSRC_PROXY_MOBILE_LIBRARY: MOBILE_LIBRARY {
.CMD=JSRC_PROXY_MOBILE_LIBRARY_CMD
.PEERDIR_POLICY=as_build_from
.PROXY=yes
SET(MODULE_TYPE LIBRARY)
DISABLE(NEED_ADD_FAKE_SRC)
PEERDIR_TAGS=JAVA_PROTO JAVA_IDL
SET(BIN_TMP_DIR ${BINDIR}/tmp)
NO_UTIL()
}
_MOBILE_DLL_PREREQUISITES_CMDLINE=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/link_asrc.py"} --work $BINDIR --asrcs ${PEERS.arcs} --input $_BUNDLE_SRCS_VALUE ${input;hide:EXTRA_INPUTS} --output ${output;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.asrc:REALPRJNAME} ${kv;hide:"p AC"} ${kv;hide:"pc lite-blue"} ${kv;hide:"show_out"}
macro _MOBILE_DLL_PREREQUISITES_CMD(EXTRA_INPUTS...) {
.CMD=$_MOBILE_DLL_PREREQUISITES_CMDLINE
}
when ($OS_ANDROID == "yes") {
LINK_MOBILE_DLL=$LINK_DYN_LIB && $_MOBILE_DLL_PREREQUISITES_CMD($_BUNDLE_EXTRA_INPUTS_VALUE)
}
otherwise {
LINK_MOBILE_DLL=$LINK_DYN_LIB
}
|