xref: /aosp_15_r20/external/cronet/third_party/apache-portable-runtime/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1# Copyright 2016 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/android/config.gni")
6
7# In a separate config so that the -Wno flag shows up after -Wall.
8config("apr_warnings") {
9  if (is_clang) {
10    cflags = [
11      # TODO(https://crbug.com/1347226): Investigate, fix.
12      "-Wno-deprecated-declarations",
13
14      # TODO(https://crbug.com/1343303): Remove once fix is rolled in.
15      "-Wno-array-parameter",
16    ]
17  }
18}
19
20# Builds 'Apache Portable Runtime'. See http://apr.apache.org
21static_library("apr") {
22  sources = [
23    "src/atomic/unix/builtins.c",
24    "src/atomic/unix/ia32.c",
25    "src/atomic/unix/mutex.c",
26    "src/atomic/unix/ppc.c",
27    "src/atomic/unix/s390.c",
28    "src/atomic/unix/solaris.c",
29    "src/dso/unix/dso.c",
30    "src/file_io/unix/buffer.c",
31    "src/file_io/unix/copy.c",
32    "src/file_io/unix/dir.c",
33    "src/file_io/unix/fileacc.c",
34    "src/file_io/unix/filedup.c",
35    "src/file_io/unix/filepath.c",
36    "src/file_io/unix/filepath_util.c",
37    "src/file_io/unix/filestat.c",
38    "src/file_io/unix/flock.c",
39    "src/file_io/unix/fullrw.c",
40    "src/file_io/unix/mktemp.c",
41    "src/file_io/unix/open.c",
42    "src/file_io/unix/pipe.c",
43    "src/file_io/unix/readwrite.c",
44    "src/file_io/unix/seek.c",
45    "src/file_io/unix/tempdir.c",
46    "src/include/apr_skiplist.h",
47    "src/include/arch/apr_private_common.h",
48    "src/include/arch/unix/apr_arch_atomic.h",
49    "src/include/arch/unix/apr_arch_dso.h",
50    "src/include/arch/unix/apr_arch_file_io.h",
51    "src/include/arch/unix/apr_arch_global_mutex.h",
52    "src/include/arch/unix/apr_arch_internal_time.h",
53    "src/include/arch/unix/apr_arch_misc.h",
54    "src/include/arch/unix/apr_arch_networkio.h",
55    "src/include/arch/unix/apr_arch_poll_private.h",
56    "src/include/arch/unix/apr_arch_proc_mutex.h",
57    "src/include/arch/unix/apr_arch_shm.h",
58    "src/include/arch/unix/apr_arch_thread_cond.h",
59    "src/include/arch/unix/apr_arch_thread_mutex.h",
60    "src/include/arch/unix/apr_arch_thread_rwlock.h",
61    "src/include/arch/unix/apr_arch_threadproc.h",
62    "src/include/arch/unix/apr_private.h",
63    "src/locks/unix/global_mutex.c",
64    "src/locks/unix/proc_mutex.c",
65    "src/locks/unix/thread_cond.c",
66    "src/locks/unix/thread_mutex.c",
67    "src/locks/unix/thread_rwlock.c",
68    "src/memory/unix/apr_pools.c",
69    "src/misc/unix/charset.c",
70    "src/misc/unix/env.c",
71    "src/misc/unix/errorcodes.c",
72    "src/misc/unix/getopt.c",
73    "src/misc/unix/otherchild.c",
74    "src/misc/unix/rand.c",
75    "src/misc/unix/start.c",
76    "src/misc/unix/version.c",
77    "src/mmap/unix/common.c",
78    "src/mmap/unix/mmap.c",
79    "src/network_io/unix/inet_ntop.c",
80    "src/network_io/unix/inet_pton.c",
81    "src/network_io/unix/multicast.c",
82    "src/network_io/unix/sendrecv.c",
83    "src/network_io/unix/sockaddr.c",
84    "src/network_io/unix/sockets.c",
85    "src/network_io/unix/sockopt.c",
86    "src/passwd/apr_getpass.c",
87    "src/poll/unix/epoll.c",
88    "src/poll/unix/kqueue.c",
89    "src/poll/unix/poll.c",
90    "src/poll/unix/pollcb.c",
91    "src/poll/unix/pollset.c",
92    "src/poll/unix/port.c",
93    "src/poll/unix/select.c",
94    "src/random/unix/apr_random.c",
95    "src/random/unix/sha2.c",
96    "src/random/unix/sha2.h",
97    "src/random/unix/sha2_glue.c",
98    "src/shmem/unix/shm.c",
99    "src/strings/apr_cpystrn.c",
100    "src/strings/apr_fnmatch.c",
101    "src/strings/apr_snprintf.c",
102    "src/strings/apr_strings.c",
103    "src/strings/apr_strnatcmp.c",
104    "src/strings/apr_strtok.c",
105    "src/support/unix/waitio.c",
106    "src/tables/apr_hash.c",
107    "src/tables/apr_skiplist.c",
108    "src/tables/apr_tables.c",
109    "src/threadproc/unix/proc.c",
110    "src/threadproc/unix/procsup.c",
111    "src/threadproc/unix/signals.c",
112    "src/threadproc/unix/thread.c",
113    "src/threadproc/unix/threadpriv.c",
114    "src/time/unix/time.c",
115    "src/time/unix/timestr.c",
116    "src/user/unix/groupinfo.c",
117    "src/user/unix/userinfo.c",
118  ]
119  include_dirs = [
120    "src/include",
121    "src/include/arch/unix",
122  ]
123  configs -= [ "//build/config/compiler:chromium_code" ]
124  configs += [
125    "//build/config/compiler:no_chromium_code",
126
127    # Must be after no_chromium_code so -Wno flags show up after -Wall.
128    ":apr_warnings",
129  ]
130
131  # See https://crbug.com/1347085 --- older Android's NDK has different strerror_p.
132  if (is_android && default_min_sdk_version < 23) {
133    defines = [ "STRERROR_R_RC_INT" ]
134  }
135}
136