You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.9 KiB
91 lines
2.9 KiB
/*
|
|
* Copyright (C) 2019 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 com.android.ndkports
|
|
|
|
import java.io.File
|
|
|
|
object : Port() {
|
|
override val name = "openssl"
|
|
override val version = "1.1.1g"
|
|
override val mavenVersion = "$version-alpha-1"
|
|
override val prefabVersion = CMakeCompatibleVersion(1, 1, 1, 7)
|
|
|
|
override val license = License(
|
|
"Dual OpenSSL and SSLeay License",
|
|
"https://www.openssl.org/source/license-openssl-ssleay.txt"
|
|
)
|
|
|
|
override val modules = listOf(
|
|
Module("crypto"),
|
|
Module("ssl")
|
|
)
|
|
|
|
override fun configure(
|
|
toolchain: Toolchain,
|
|
sourceDirectory: File,
|
|
buildDirectory: File,
|
|
installDirectory: File,
|
|
workingDirectory: File
|
|
): Result<Unit, String> {
|
|
buildDirectory.mkdirs()
|
|
return executeProcessStep(
|
|
listOf(
|
|
sourceDirectory.resolve("Configure").absolutePath,
|
|
"android-${toolchain.abi.archName}",
|
|
"-D__ANDROID_API__=${toolchain.api}",
|
|
"--prefix=${installDirectory.absolutePath}",
|
|
"--openssldir=${installDirectory.absolutePath}",
|
|
"shared"
|
|
),
|
|
buildDirectory,
|
|
additionalEnvironment = mapOf(
|
|
"ANDROID_NDK" to toolchain.ndk.path.absolutePath,
|
|
"PATH" to "${toolchain.binDir}:${System.getenv("PATH")}"
|
|
)
|
|
)
|
|
}
|
|
|
|
override fun build(
|
|
toolchain: Toolchain,
|
|
buildDirectory: File
|
|
): Result<Unit, String> =
|
|
executeProcessStep(
|
|
listOf(
|
|
"make",
|
|
"-j$ncpus",
|
|
"SHLIB_EXT=.so"
|
|
), buildDirectory,
|
|
additionalEnvironment = mapOf(
|
|
"ANDROID_NDK" to toolchain.ndk.path.absolutePath,
|
|
"PATH" to "${toolchain.binDir}:${System.getenv("PATH")}"
|
|
)
|
|
)
|
|
|
|
override fun install(
|
|
toolchain: Toolchain,
|
|
buildDirectory: File,
|
|
installDirectory: File
|
|
): Result<Unit, String> =
|
|
executeProcessStep(
|
|
listOf("make", "install_sw", "SHLIB_EXT=.so"), buildDirectory,
|
|
additionalEnvironment = mapOf(
|
|
"ANDROID_NDK" to toolchain.ndk.path.absolutePath,
|
|
"PATH" to "${toolchain.binDir}:${System.getenv("PATH")}"
|
|
)
|
|
)
|
|
}
|