blob: dfa36bd7c683f5372602f626a66ff28d2d293bf0 [file] [log] [blame]
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
default_applicable_licenses: ["external_ppp_pppd_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
name: "external_ppp_pppd_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-0BSD",
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-GPL",
"SPDX-license-identifier-GPL-2.0",
"SPDX-license-identifier-LGPL",
"SPDX-license-identifier-MIT",
"legacy_notice",
"legacy_unencumbered",
],
license_text: [
"NOTICE",
],
}
cc_defaults {
name: "ppp_defaults",
cflags: [
"-DCHAPMS=1",
"-DMPPE=1",
"-DINET6=1",
"-DUSE_OPENSSL=1",
"-Wno-missing-field-initializers",
"-Wno-unused-parameter",
"-Werror",
"-Wno-pointer-sign",
"-DPLUGIN",
],
local_include_dirs: ["include"],
}
filegroup {
name: "pppd-sources",
srcs: [
"auth.c",
"ccp.c",
"chap-md5.c",
"chap-new.c",
"chap_ms.c",
"demand.c",
"eap.c",
"ecp.c",
"eui64.c",
"fsm.c",
"ipcp.c",
"ipv6cp.c",
"lcp.c",
"magic.c",
"main.c",
"options.c",
"pppcrypt.c",
"pppox.c",
"session.c",
"sys-linux.c",
"tty.c",
"upap.c",
"utils.c",
]
}
cc_library_static {
name: "libpppd",
defaults: ["ppp_defaults"],
srcs: [
":pppd-sources"
],
export_include_dirs:[".", "include"],
// options.c:623:21: error: passing 'const char *' to parameter of
// type 'char *' discards qualifiers.
// [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
clang_cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
shared_libs: [
"libdl",
"liblog",
"libcutils",
"libcrypto",
],
cflags: [
"-Dmain=main_loop",
"-Wno-empty-body",
"-Wno-attributes",
"-Wno-sign-compare",
],
ldflags: ["-rdynamic"],
required: [
"pppol2tp-android",
"pppopptp-android",
],
}
cc_binary {
name: "pppd",
defaults: ["ppp_defaults"],
srcs: [
":pppd-sources"
],
shared_libs: [
"libdl",
"liblog",
"libcutils",
"libcrypto",
],
ldflags: ["-rdynamic"],
clang_cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
required: [
"pppol2tp-android",
"pppopptp-android",
],
sanitize: {
memtag_heap: true,
},
}
cc_library_shared {
name: "pppol2tp-android",
defaults: ["ppp_defaults"],
srcs: ["plugins/pppol2tp-android/pppol2tp-android.c"],
allow_undefined_symbols: true,
}
cc_library_shared {
name: "pppopptp-android",
defaults: ["ppp_defaults"],
srcs: ["plugins/pppopptp-android/pppopptp-android.c"],
allow_undefined_symbols: true,
}