• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2010 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15LOCAL_PATH:= $(call my-dir)
16include $(CLEAR_VARS)
17
18LOCAL_MODULE:= libpcre
19
20intermediatesSrc := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcre,HOST,)/pcre/src
21intermediatesInc := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcre,HOST,)/pcre/include
22
23pcre_generated_header1 := $(intermediatesInc)/pcre.h
24$(pcre_generated_header1): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcre.h.generic
25$(pcre_generated_header1): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@
26$(pcre_generated_header1): $(LOCAL_PATH)/pcre.h.generic
27	$(transform-generated-source)
28
29pcre_generated_header2 := $(intermediatesInc)/config.h
30$(pcre_generated_header2): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/config.h.android
31$(pcre_generated_header2): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@
32$(pcre_generated_header2): $(LOCAL_PATH)/config.h.android
33	$(transform-generated-source)
34
35GEN := $(intermediatesSrc)/pcre_chartables.c
36$(GEN): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcre_chartables.c.dist
37$(GEN): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@
38$(GEN): $(LOCAL_PATH)/pcre_chartables.c.dist
39	$(transform-generated-source)
40LOCAL_GENERATED_SOURCES += $(GEN)
41$(GEN) : $(pcre_generated_header1) $(pcre_generated_header2)
42
43LOCAL_C_INCLUDES += $(intermediatesInc)
44
45PCRE_SRC_FILES := \
46    pcre_compile.c \
47    pcre_config.c \
48    pcre_dfa_exec.c \
49    pcre_exec.c \
50    pcre_fullinfo.c \
51    pcre_get.c \
52    pcre_globals.c \
53    pcre_info.c \
54    pcre_newline.c \
55    pcre_maketables.c \
56    pcre_ord2utf8.c \
57    pcre_refcount.c \
58    pcre_study.c \
59    pcre_tables.c \
60    pcre_try_flipped.c \
61    pcre_ucd.c \
62    pcre_valid_utf8.c \
63    pcre_version.c \
64    pcre_xclass.c
65
66# For the host
67# ========================================================
68LOCAL_SRC_FILES := $(PCRE_SRC_FILES)
69
70LOCAL_MODULE_TAGS := optional
71LOCAL_CFLAGS += -DHAVE_CONFIG_H
72LOCAL_CFLAGS += -fPIC
73include $(BUILD_HOST_STATIC_LIBRARY)
74
75# Now we build pcrecpp
76include $(CLEAR_VARS)
77
78LOCAL_MODULE:= libpcrecpp
79pcrecppIntermediatesInc := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcrecpp,HOST,)/pcrecpp/include
80
81pcre_cpp_generated_header1 := $(pcrecppIntermediatesInc)/pcre_stringpiece.h
82$(pcre_cpp_generated_header1): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcre_stringpiece.h.android
83$(pcre_cpp_generated_header1): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@
84$(pcre_cpp_generated_header1): $(LOCAL_PATH)/pcre_stringpiece.h.android
85	$(transform-generated-source)
86
87pcre_cpp_generated_header2 := $(pcrecppIntermediatesInc)/pcrecpparg.h
88$(pcre_cpp_generated_header2): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcrecpparg.h.android
89$(pcre_cpp_generated_header2): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@
90$(pcre_cpp_generated_header2): $(LOCAL_PATH)/pcrecpparg.h.android
91$(pcre_cpp_generated_header2): $(pcre_generated_header1)
92	$(transform-generated-source)
93LOCAL_GENERATED_SOURCES += $(pcre_cpp_generated_header1) $(pcre_cpp_generated_header2) $(pcre_generated_header1)
94
95LOCAL_C_INCLUDES += $(intermediatesInc)
96LOCAL_C_INCLUDES += $(pcrecppIntermediatesInc)
97
98LOCAL_CPP_EXTENSION := .cc
99
100PCRE_CPP_SRC_FILES := \
101	pcrecpp.cc \
102        pcre_scanner.cc \
103        pcre_stringpiece.cc
104
105LOCAL_SRC_FILES := $(PCRE_CPP_SRC_FILES)
106
107LOCAL_MODULE_TAGS := optional
108LOCAL_CFLAGS += -fPIC
109include $(BUILD_HOST_STATIC_LIBRARY)
110