Android.mk revision 6791df284557f4173a9715b3634f4f4901a6bb8a
1LOCAL_PATH := $(call my-dir)
2
3# Shared library libslang for host
4# ========================================================
5include $(CLEAR_VARS)
6include $(CLEAR_TBLGEN_VARS)
7
8LLVM_ROOT_PATH := external/llvm
9CLANG_ROOT_PATH := external/clang
10
11include $(CLANG_ROOT_PATH)/clang.mk
12
13LOCAL_MODULE := libslang
14LOCAL_MODULE_TAGS := optional
15
16LOCAL_MODULE_CLASS := SHARED_LIBRARIES
17
18LOCAL_CFLAGS += -Wno-sign-promo
19
20TBLGEN_TABLES :=    \
21	AttrList.inc	\
22	Attrs.inc	\
23	DeclNodes.inc	\
24	DiagnosticCommonKinds.inc	\
25	DiagnosticFrontendKinds.inc	\
26	DiagnosticSemaKinds.inc	\
27	StmtNodes.inc
28
29LOCAL_SRC_FILES :=	\
30	slang.cpp	\
31	slang_utils.cpp	\
32	slang_backend.cpp	\
33	slang_pragma_recorder.cpp	\
34	slang_diagnostic_buffer.cpp
35
36LOCAL_STATIC_LIBRARIES :=	\
37	libLLVMLinker   \
38	libLLVMipo	\
39	libLLVMBitWriter	\
40	libLLVMBitReader	\
41	libLLVMARMAsmPrinter	\
42	libLLVMX86AsmPrinter	\
43	libLLVMAsmPrinter	\
44	libLLVMMCParser	\
45	libLLVMARMCodeGen	\
46	libLLVMARMInfo	\
47	libLLVMX86CodeGen	\
48	libLLVMX86Info	\
49	libLLVMSelectionDAG	\
50	libLLVMCodeGen	\
51	libLLVMScalarOpts	\
52	libLLVMInstCombine	\
53	libLLVMTransformUtils	\
54	libLLVMInstrumentation	\
55	libLLVMipa	\
56	libLLVMAnalysis	\
57	libLLVMTarget	\
58	libLLVMMC	\
59	libLLVMCore	\
60	libclangParse	\
61	libclangSema	\
62	libclangAnalysis	\
63	libclangAST	\
64	libclangLex	\
65	libclangFrontend	\
66	libclangCodeGen	\
67	libclangBasic	\
68	libLLVMSupport	\
69	libLLVMSystem
70
71LOCAL_LDLIBS := -ldl -lpthread
72
73include $(CLANG_HOST_BUILD_MK)
74include $(CLANG_TBLGEN_RULES_MK)
75include $(LLVM_GEN_INTRINSICS_MK)
76include $(BUILD_HOST_SHARED_LIBRARY)
77
78# Executable llvm-rs-link for host
79# ========================================================
80include $(CLEAR_VARS)
81include $(CLEAR_TBLGEN_VARS)
82
83include $(LLVM_ROOT_PATH)/llvm.mk
84
85LOCAL_MODULE := llvm-rs-link
86
87LOCAL_MODULE_CLASS := EXECUTABLES
88
89LOCAL_SRC_FILES :=	\
90	llvm-rs-link.cpp
91
92LOCAL_SHARED_LIBRARIES :=	\
93	libslang
94
95LOCAL_LDLIBS := -ldl -lpthread
96
97include $(LLVM_HOST_BUILD_MK)
98include $(LLVM_GEN_INTRINSICS_MK)
99include $(BUILD_HOST_EXECUTABLE)
100
101# Host static library containing rs_types.rsh
102# ========================================================
103include $(CLEAR_VARS)
104
105input_data_file := frameworks/base/libs/rs/scriptc/rs_types.rsh
106slangdata_output_var_name := rs_types_header
107
108LOCAL_IS_HOST_MODULE := true
109LOCAL_MODULE := librsheader-types
110LOCAL_MODULE_TAGS := optional
111
112include $(LOCAL_PATH)/SlangData.mk
113include $(BUILD_HOST_STATIC_LIBRARY)
114
115# Host static library containing rs_cl.rsh
116# ========================================================
117include $(CLEAR_VARS)
118
119input_data_file := frameworks/base/libs/rs/scriptc/rs_cl.rsh
120slangdata_output_var_name := rs_cl_header
121
122LOCAL_IS_HOST_MODULE := true
123LOCAL_MODULE := librsheader-cl
124LOCAL_MODULE_TAGS := optional
125
126include $(LOCAL_PATH)/SlangData.mk
127include $(BUILD_HOST_STATIC_LIBRARY)
128
129# Host static library containing rs_cores.rsh
130# ========================================================
131include $(CLEAR_VARS)
132
133input_data_file := frameworks/base/libs/rs/scriptc/rs_core.rsh
134slangdata_output_var_name := rs_core_header
135
136LOCAL_IS_HOST_MODULE := true
137LOCAL_MODULE := librsheader-core
138LOCAL_MODULE_TAGS := optional
139
140include $(LOCAL_PATH)/SlangData.mk
141include $(BUILD_HOST_STATIC_LIBRARY)
142
143# Host static library containing rs_math.rsh
144# ========================================================
145include $(CLEAR_VARS)
146
147input_data_file := frameworks/base/libs/rs/scriptc/rs_math.rsh
148slangdata_output_var_name := rs_math_header
149
150LOCAL_IS_HOST_MODULE := true
151LOCAL_MODULE := librsheader-math
152LOCAL_MODULE_TAGS := optional
153
154include $(LOCAL_PATH)/SlangData.mk
155include $(BUILD_HOST_STATIC_LIBRARY)
156
157# Executable slang for host
158# ========================================================
159include $(CLEAR_VARS)
160include $(CLEAR_TBLGEN_VARS)
161
162LOCAL_IS_HOST_MODULE := true
163LOCAL_MODULE := llvm-rs-cc
164LOCAL_MODULE_TAGS := optional
165
166LOCAL_MODULE_CLASS := EXECUTABLES
167
168LOCAL_CFLAGS += -Wno-sign-promo
169
170TBLGEN_TABLES :=    \
171	AttrList.inc    \
172	Attrs.inc    \
173	DeclNodes.inc    \
174	DiagnosticCommonKinds.inc   \
175	DiagnosticDriverKinds.inc	\
176	DiagnosticSemaKinds.inc	\
177	StmtNodes.inc	\
178	RSCCOptions.inc
179
180LOCAL_SRC_FILES :=	\
181	llvm-rs-cc.cpp	\
182	slang_rs.cpp	\
183	slang_rs_context.cpp	\
184	slang_rs_pragma_handler.cpp	\
185	slang_rs_backend.cpp	\
186	slang_rs_export_type.cpp	\
187	slang_rs_export_element.cpp	\
188	slang_rs_export_var.cpp	\
189	slang_rs_export_func.cpp	\
190	slang_rs_reflection.cpp \
191	slang_rs_reflect_utils.cpp
192
193LOCAL_SHARED_LIBRARIES :=      \
194	libslang
195
196LOCAL_STATIC_LIBRARIES :=	\
197	libclangDriver	\
198	librsheader-types	\
199	librsheader-cl  \
200	librsheader-core	\
201	librsheader-math
202
203LOCAL_REQUIRED_MODULES := llvm-rs-link
204
205# For build RSCCOptions.inc from RSCCOptions.td
206intermediates := $(call local-intermediates-dir)
207LOCAL_GENERATED_SOURCES += $(intermediates)/RSCCOptions.inc
208$(intermediates)/RSCCOptions.inc: $(LOCAL_PATH)/RSCCOptions.td $(CLANG_ROOT_PATH)/include/clang/Driver/OptParser.td $(TBLGEN)
209	@echo "Building RenderScript compiler (llvm-rs-cc) Option tables with tblgen"
210	$(call transform-host-td-to-out,opt-parser-defs)
211
212include $(CLANG_HOST_BUILD_MK)
213include $(CLANG_TBLGEN_RULES_MK)
214include $(BUILD_HOST_EXECUTABLE)
215