Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 9379) +++ trunk/scconfig/Rev.h (revision 9380) @@ -1 +1 @@ -static const int myrev = 9378; +static const int myrev = 9380; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 9379) +++ trunk/scconfig/Rev.tab (revision 9380) @@ -1,4 +1,4 @@ -9378 configure io_orcad +9380 configure io_orcad 9359 configure drc infrastructure in libcschem 9254 configure new plugin: funcmap 9211 configure lib: per-plugin-per-project storage Index: trunk/scconfig/plugins.h =================================================================== --- trunk/scconfig/plugins.h (revision 9379) +++ trunk/scconfig/plugins.h (revision 9380) @@ -51,6 +51,7 @@ plugin_def("io_lihata", "lihata schematics and symbols", sbuildin, 1) plugin_def("io_ngrp_fawk", "fawk non-graphical sheets", sbuildin, 1) plugin_def("io_ngrp_tedax", "tEDAx non-graphical sheets", sbuildin, 1) +plugin_def("io_orcad", "OrCAD schematics", sbuildin, 1) plugin_def("io_tinycad", "TinyCAD schematics", sbuildin, 1) plugin_def("lib_alien", "alien format helper", sbuildin, 1) plugin_def("lib_ngrp", "non-graphical seet helper", sbuildin, 1) @@ -79,6 +80,8 @@ plugin_dep("io_ngrp_fawk", "script") plugin_dep("io_ngrp_tedax", "lib_ngrp") plugin_dep("io_ngrp_tedax", "lib_tedax") +plugin_dep("io_orcad", "lib_alien") +plugin_dep("io_orcad", "lib_ucdf") plugin_dep("io_tinycad", "lib_alien") plugin_dep("lib_alien", "query") plugin_dep("lib_plot", "query") Index: trunk/src/plugins/io_orcad/io_orcad.pup.NOPE =================================================================== --- trunk/src/plugins/io_orcad/io_orcad.pup.NOPE (revision 9379) +++ trunk/src/plugins/io_orcad/io_orcad.pup.NOPE (nonexistent) @@ -1,10 +0,0 @@ -$class io -$short OrCAD schematics -$long Load schematics from OrCad dsn -$state works -$fmt-feature-r orcad schematics -$package io-alien -dep lib_alien -dep lib_ucdf -default buildin -autoload 1 Index: trunk/src/plugins/io_orcad/io_orcad.pup =================================================================== --- trunk/src/plugins/io_orcad/io_orcad.pup (nonexistent) +++ trunk/src/plugins/io_orcad/io_orcad.pup (revision 9380) @@ -0,0 +1,10 @@ +$class io +$short OrCAD schematics +$long Load schematics from OrCad dsn +$state works +$fmt-feature-r orcad schematics +$package io-alien +dep lib_alien +dep lib_ucdf +default buildin +autoload 1 Index: trunk/src/plugins/io_orcad/read.c =================================================================== --- trunk/src/plugins/io_orcad/read.c (revision 9379) +++ trunk/src/plugins/io_orcad/read.c (revision 9380) @@ -33,14 +33,8 @@ #include #include -#include "pcbdoc_unpacked.h" -#include "schdoc.h" - #include "read.h" -#define BINLEN_NO_MAIN -#include "binlen2txt.c" - /* optional trace */ #if 1 # include @@ -49,6 +43,10 @@ static int tprintf(const char *fmt, ...) { return 0; } #endif +typedef struct io_orcad_rctx_s { + const char *fn; +} io_orcad_rctx_t; + /**** binary ****/ static int read_cb(void *ctx, void *dst, long len) @@ -59,7 +57,7 @@ static int orcad_load_cdf_sheet(io_orcad_rctx_t *rctx, ucdf_ctx_t *uctx, ucdf_file_t *fp) { - return orcad_parse_blocks(&rctx->tree, rctx->fn); + return orcad_parse_blocks(rctx->fn); } int io_orcad_cdf_load_sheet(FILE *f, const char *fn, const char *fmt, csch_sheet_t *dst) @@ -117,7 +115,7 @@ if (f == NULL) return -1; - res = orcad_parse_blocks(&rctx.tree, fn); + res = orcad_parse_blocks(fn); return res; } Index: trunk/src/plugins/plugins_ALL.tmpasm =================================================================== --- trunk/src/plugins/plugins_ALL.tmpasm (revision 9379) +++ trunk/src/plugins/plugins_ALL.tmpasm (revision 9380) @@ -19,6 +19,7 @@ include {../src/plugins/io_lihata/Plug.tmpasm} include {../src/plugins/io_ngrp_fawk/Plug.tmpasm} include {../src/plugins/io_ngrp_tedax/Plug.tmpasm} +include {../src/plugins/io_orcad/Plug.tmpasm} include {../src/plugins/io_tinycad/Plug.tmpasm} include {../src/plugins/lib_alien/Plug.tmpasm} include {../src/plugins/lib_anymap/Plug.tmpasm} Index: trunk/src/sch-rnd/Makefile.dep =================================================================== --- trunk/src/sch-rnd/Makefile.dep (revision 9379) +++ trunk/src/sch-rnd/Makefile.dep (revision 9380) @@ -406,6 +406,25 @@ ../plugins/lib_ngrp/lib_ngrp.h ../plugins/lib_tedax/parse.h \ ../plugins/io_ngrp_tedax/read.h ../libcschem/plug_io.h \ ../libcschem/abstract.h ../libcschem/TODO.h +../plugins/io_orcad/io_orcad.o: ../plugins/io_orcad/io_orcad.c \ + ../libcschem/config.h ../libcschem/plug_io.h ../libcschem/concrete.h \ + ../libcschem/common_types.h ../libcschem/rtree.h ../libcschem/attrib.h \ + ../libcschem/oidpath.h ../libcschem/vtoid.h \ + ../../src_3rd/libuundo/uundo.h ../../src_3rd/libminuid/libminuid.h \ + ../../src_3rd/gengeo2d/typecfg_long_double.h ../../src_3rd/opc89.h \ + ../../src_3rd/gengeo2d/common.h ../../src_3rd/gengeo2d/prim.h \ + ../libcschem/abstract.h ../libcschem/TODO.h ../plugins/io_orcad/read.h \ + ../plugins/io_orcad/io_orcad_conf.h ../plugins/io_orcad/conf_internal.c \ + ../plugins/io_orcad/io_orcad_conf_fields.h +../plugins/io_orcad/read.o: ../plugins/io_orcad/read.c \ + ../libcschem/config.h ../../src_3rd/libucdf/ucdf.h \ + ../plugins/io_orcad/read.h ../libcschem/plug_io.h \ + ../libcschem/concrete.h ../libcschem/common_types.h ../libcschem/rtree.h \ + ../libcschem/attrib.h ../libcschem/oidpath.h ../libcschem/vtoid.h \ + ../../src_3rd/libuundo/uundo.h ../../src_3rd/libminuid/libminuid.h \ + ../../src_3rd/gengeo2d/typecfg_long_double.h ../../src_3rd/opc89.h \ + ../../src_3rd/gengeo2d/common.h ../../src_3rd/gengeo2d/prim.h \ + ../libcschem/abstract.h ../libcschem/TODO.h ../plugins/io_tinycad/io_tinycad.o: ../plugins/io_tinycad/io_tinycad.c \ ../libcschem/config.h ../libcschem/plug_io.h ../libcschem/concrete.h \ ../libcschem/common_types.h ../libcschem/rtree.h ../libcschem/attrib.h \ @@ -508,6 +527,8 @@ ../plugins/lib_tedax/lib_tedax.o: ../plugins/lib_tedax/lib_tedax.c \ ../libcschem/config.h ../plugins/lib_tedax/lib_tedax.h \ ../plugins/lib_tedax/parse.c ../plugins/lib_tedax/parse.h +../plugins/lib_ucdf/lib_ucdf.o: ../plugins/lib_ucdf/lib_ucdf.c \ + ../libcschem/config.h ../plugins/place/place.o: ../plugins/place/place.c ../libcschem/config.h \ ../libcschem/search.h ../libcschem/concrete.h \ ../libcschem/common_types.h ../libcschem/rtree.h ../libcschem/attrib.h \