X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=codegen%2Fmain.cpp;h=ee70fb19d0dafc4f19dc4888fba34febb7389450;hp=e3ce124f59193993a086de802ab3c6ed5a8c9753;hb=0cfa3fb24104428b6e6d8881b1f94fcad825c7ef;hpb=25924caeef56c6e09e73216885912ac525ebec9f diff --git a/codegen/main.cpp b/codegen/main.cpp index e3ce124..ee70fb1 100644 --- a/codegen/main.cpp +++ b/codegen/main.cpp @@ -533,15 +533,18 @@ struct RemoveGenerated int main(int argc, char* argv[]) { - if (argc != 4) { - std::cerr << "Usage: " << argv[0] << " export-file gccxml-file default-group" << std::endl; + if (argc < 4) { + std::cerr << "Usage: " << argv[0] << " export-file default-group gccxml-file1 gccxml-file2 ... " << std::endl; return 1; } try{ std::string exportfile(argv[1]); - std::string xmlfile(argv[2]); - std::string group(argv[3]); + std::string group(argv[2]); + std::list xmlfiles; + for (unsigned i=3;i includes(get_includes(exportfile)); remove_if(includes.begin(), includes.end(), RemoveGenerated(prefix)); @@ -549,8 +552,12 @@ main(int argc, char* argv[]) //paste_includes(std::cerr, includes); - Parser parser(xmlfile, group); - std::list procedures(parser.get_procedures()); + std::list procedures; + for (std::list::iterator it=xmlfiles.begin();it!=xmlfiles.end();++it) { + Parser parser(*it, group); + const std::list &p(parser.get_procedures()); + std::copy(p.begin(), p.end(), std::back_inserter(procedures)); + } std::cerr << "Procedures:" << std::endl; for (std::list::const_iterator it=procedures.begin();it!=procedures.end();++it)