GP-1106: Platform naming convention now supports different

architectures. Support for building on ARM.
This commit is contained in:
Ryan Kurtz 2021-07-07 09:25:39 -04:00
parent b55d1049d4
commit 00533b2869
43 changed files with 523 additions and 461 deletions

View file

@ -36,13 +36,13 @@ ext.binutilsDistro = "${binutils}.tar.bz2"
// Find the GPL dir
def gplDir = null;
if (file("../gpl.gradle").exists()) {
if (file("../utils.gradle").exists()) {
gplDir = file("..").getCanonicalPath()
}
else {
// Module lives disconnected from the GPL directory, which it will need to build.
// Find a Ghidra installation directory and use its GPL directory.
if (file("../../Extensions").exists() && file("../../../GPL/gpl.gradle").exists()) {
if (file("../../Extensions").exists() && file("../../../GPL/utils.gradle").exists()) {
// Module is installed within a Ghidra installation (i.e, ghidra/Ghidra/Extensions)
gplDir = file("../../../GPL").getCanonicalPath()
}
@ -76,7 +76,8 @@ if (findProject(':Generic') != null) {
}
else {
// Build GPL extension (gdis)
apply from: "${gplDir}/gpl.gradle"
apply from: "${gplDir}/utils.gradle"
apply from: "${gplDir}/nativePlatforms.gradle"
apply from: "${gplDir}/nativeBuildProperties.gradle"
apply from: "buildGdis.gradle"
}

View file

@ -4,7 +4,7 @@
defaultTasks 'assemble'
ext.supportedPlatforms = ['osx64', 'linux64']
ext.supportedPlatforms = ['mac_x86_64', 'mac_arm_64', 'linux_x86_64', 'linux_arm_64']
ext.binutilsResource = new File("${projectDir}/${binutils}.tar.bz2")
@ -18,17 +18,6 @@ def binutilsUnpackDir = file("${project.buildDir}/${binutils}/")
******************************************************************************************/
model {
platforms {
linux64 {
architecture 'x86_64'
operatingSystem 'linux'
}
osx64 {
architecture 'x86_64'
operatingSystem 'osx'
}
}
components {
gdis(NativeExecutableSpec) {
@ -56,11 +45,17 @@ model {
}
}
tasks.compileGdisOsx64ExecutableGdisC {
dependsOn 'copyBinutilsArtifcats_osx64'
tasks.compileGdisMac_x86_64ExecutableGdisC {
dependsOn 'copyBinutilsArtifcats_mac_x86_64'
}
tasks.compileGdisLinux64ExecutableGdisC {
dependsOn 'copyBinutilsArtifcats_linux64'
tasks.compileGdisLinux_x86_64ExecutableGdisC {
dependsOn 'copyBinutilsArtifcats_linux_x86_64'
}
tasks.compileGdisMac_arm_64ExecutableGdisC {
dependsOn 'copyBinutilsArtifcats_mac_arm_64'
}
tasks.compileGdisLinux_arm_64ExecutableGdisC {
dependsOn 'copyBinutilsArtifcats_linux_arm_64'
}
}