Finished adding a basic flake

It can now build the Linux C2 beacon
This commit is contained in:
Andrew Rioux
2024-01-23 23:26:58 -05:00
parent b2278cc8e8
commit 4475d23d1d
10 changed files with 94 additions and 41 deletions

View File

@@ -10,4 +10,5 @@ libc = "0.2.142"
[build-dependencies]
autotools = "0.2"
cc = "1.0"
cc = "1.0"
fs_extra = "1.3.0"

View File

@@ -13,10 +13,18 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
use fs_extra::dir::{copy, CopyOptions};
fn main() -> std::io::Result<()> {
cc::Build::new().file("src/bridge.c").compile("bridge");
let dst = autotools::Config::new("libnl").reconf("-vi").build();
let libnl_src = format!("{}/libnl_src", std::env::var("OUT_DIR").unwrap());
let mut options = CopyOptions::new();
options.copy_inside = true;
copy(std::env!("SPARSE_BUILD_LIBNL"), &libnl_src, &options);
let dst = autotools::Config::new(libnl_src).reconf("-vi").build();
println!("cargo:rustc-link-search=native={}/lib", dst.display());
println!("cargo:rustc-link-lib=static=nl-3");