diff --git a/Ghidra/Features/Decompiler/buildNatives.gradle b/Ghidra/Features/Decompiler/buildNatives.gradle index 2fcf9f7aea..626b9d7771 100644 --- a/Ghidra/Features/Decompiler/buildNatives.gradle +++ b/Ghidra/Features/Decompiler/buildNatives.gradle @@ -246,7 +246,6 @@ model { b.cCompiler.args "/Oy" // Omit frame pointer b.cCompiler.define "_CRT_SECURE_NO_DEPRECATE" b.cCompiler.define "_CRT_NONSTDC_NO_DEPRECATE" - b.cCompiler.define "WIN64" b.cCompiler.define "ZLIB_WINAPI" } else if (b.toolChain in Clang) { diff --git a/Ghidra/Features/FileFormats/buildNatives.gradle b/Ghidra/Features/FileFormats/buildNatives.gradle index 70c9d6bfaf..37bba0fdff 100644 --- a/Ghidra/Features/FileFormats/buildNatives.gradle +++ b/Ghidra/Features/FileFormats/buildNatives.gradle @@ -39,7 +39,7 @@ model { sources { c { source { - srcDir "src/lzfse" + srcDir "src/lzfse/c" include "lzfse_encode.c" include "lzfse_decode.c" include "lzfse_encode_base.c" @@ -53,4 +53,36 @@ model { } } } + + binaries { + all{ b -> + if (b.toolChain in Gcc) { + b.cCompiler.args "-std=c99" + b.cCompiler.args "-Wall" + b.cCompiler.args "-O2" + if (b.targetPlatform.operatingSystem.linux) { + b.cCompiler.define "LINUX" + b.cCompiler.define "_LINUX" + } + } + else if (b.toolChain in VisualCpp) { + if (b.targetPlatform.operatingSystem.windows) { + b.cCompiler.define "WINDOWS" + b.cCompiler.define "_WINDOWS" + b.cCompiler.define "WIN32" + b.cCompiler.define "_WIN32" + if (b.targetPlatform.name == "win_x86_64") { + b.cCompiler.define "WIN64" + b.cCompiler.define "_WIN64" + } + } + b.cCompiler.args "/O2" + } + else if (b.toolChain in Clang) { + b.cCompiler.args "-std=c99" + b.cCompiler.args "-Wall" + b.cCompiler.args "-O2" + } + } + } } diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse.h b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse.h similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse.h rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse.h diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_decode.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_decode.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_decode.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_decode.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_decode_base.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_decode_base.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_decode_base.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_decode_base.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_encode.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_encode.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_encode.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_encode.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_encode_base.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_encode_base.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_encode_base.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_encode_base.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_encode_tables.h b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_encode_tables.h similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_encode_tables.h rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_encode_tables.h diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_fse.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_fse.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_fse.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_fse.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_fse.h b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_fse.h similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_fse.h rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_fse.h diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_internal.h b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_internal.h similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_internal.h rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_internal.h diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_main.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_main.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_main.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_main.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzfse_tunables.h b/Ghidra/Features/FileFormats/src/lzfse/c/lzfse_tunables.h similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzfse_tunables.h rename to Ghidra/Features/FileFormats/src/lzfse/c/lzfse_tunables.h diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzvn_decode_base.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzvn_decode_base.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzvn_decode_base.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzvn_decode_base.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzvn_decode_base.h b/Ghidra/Features/FileFormats/src/lzfse/c/lzvn_decode_base.h similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzvn_decode_base.h rename to Ghidra/Features/FileFormats/src/lzfse/c/lzvn_decode_base.h diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzvn_encode_base.c b/Ghidra/Features/FileFormats/src/lzfse/c/lzvn_encode_base.c similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzvn_encode_base.c rename to Ghidra/Features/FileFormats/src/lzfse/c/lzvn_encode_base.c diff --git a/Ghidra/Features/FileFormats/src/lzfse/lzvn_encode_base.h b/Ghidra/Features/FileFormats/src/lzfse/c/lzvn_encode_base.h similarity index 100% rename from Ghidra/Features/FileFormats/src/lzfse/lzvn_encode_base.h rename to Ghidra/Features/FileFormats/src/lzfse/c/lzvn_encode_base.h