#include #include #include #include "configuration_packets.h" DEFINE_string(o, "", "Output RBT file"); DEFINE_string(aux, "", "Input auxiliary data file"); DEFINE_string(arch, "Series7", "FPGA architecture"); int main(int argc, char** argv) { gflags::ParseCommandLineFlags(&argc, &argv, true); if (argc != 2) { std::cerr << "Error: Input bits file not specified" << std::endl; return 1; } std::ofstream out_file; if (!FLAGS_o.empty()) { out_file.open(FLAGS_o.c_str(), std::ofstream::out); if (!out_file.good()) { std::cerr << "Error: Can't open output file\n"; return 1; } } std::ostream& out = (FLAGS_o.empty()) ? std::cout : out_file; try { std::shared_ptr packets = ConfigurationPackets::InitFromFile(argv[1], FLAGS_arch); packets->AddAuxData(FLAGS_aux); packets->WriteBits(out); } catch (std::runtime_error& e) { std::cerr << "Error: " << e.what(); return 1; } if (!FLAGS_o.empty()) { out_file.close(); } return 0; }