Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 26298) +++ trunk/scconfig/Rev.h (revision 26299) @@ -1 +1 @@ -static const int myrev = 26262; +static const int myrev = 26299; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 26298) +++ trunk/scconfig/Rev.tab (revision 26299) @@ -1,3 +1,4 @@ +26299 configuew hidlib: include the batch HID in hidlib 26262 configure order: move wget to lib_wget for reuse, add order plugins 26253 configure hidlib: move hidlib-common dialogs from the dialogs plugin to lib_hid_common so other hidlib apps can benefit from them 26000 configure hildib: separate polygon generator funtions so they can be reused by hidlib apps Index: trunk/scconfig/hooks.c =================================================================== --- trunk/scconfig/hooks.c (revision 26298) +++ trunk/scconfig/hooks.c (revision 26299) @@ -45,7 +45,7 @@ #undef plugin_def #undef plugin_header #undef plugin_dep -#define plugin_def(name, desc, default_, all_) plugin3_args(name, desc) +#define plugin_def(name, desc, default_, all_, hidlib_) plugin3_args(name, desc) #define plugin_header(sect) #define plugin_dep(plg, on, hidlib) #include "plugins.h" @@ -249,10 +249,14 @@ #undef plugin_def #undef plugin_header #undef plugin_dep -#define plugin_def(name, desc, default_, all_) \ +#define plugin_def(name, desc, default_, all_, hidlib_) \ if ((all_) || force) { \ sprintf(buff, "/local/pcb/%s/controls", name); \ put(buff, state); \ + } \ + if (hidlib_) { \ + sprintf(buff, "/local/pcb/%s/hidlib", name); \ + put(buff, strue); \ } #define plugin_header(sect) #define plugin_dep(plg, on, hidlib) @@ -265,7 +269,7 @@ #undef plugin_def #undef plugin_header #undef plugin_dep -#define plugin_def(name, desc, default_, all_) +#define plugin_def(name, desc, default_, all_, hidlib_) #define plugin_header(sect) #define plugin_dep(plg, on, hidlib) dep_chg += plugin_dep1(require, plg, on, hidlib); #include "plugins.h" @@ -298,7 +302,7 @@ #undef plugin_def #undef plugin_header #undef plugin_dep -#define plugin_def(name, desc, default_, all_) plugin3_default(name, default_) +#define plugin_def(name, desc, default_, all_, hidlib_) plugin3_default(name, default_) #define plugin_header(sect) #define plugin_dep(plg, on, hidlib) #include "plugins.h" @@ -323,7 +327,7 @@ #undef plugin_def #undef plugin_header #undef plugin_dep -#define plugin_def(name, desc, default_, all_) \ +#define plugin_def(name, desc, default_, all_, hidlib_) \ sprintf(pwanted, "/local/pcb/%s/explicit", name); \ wanted = get(pwanted); \ if (wanted != NULL) { \ @@ -982,7 +986,7 @@ #undef plugin_def #undef plugin_header #undef plugin_dep -#define plugin_def(name, desc, default_, all_) plugin3_stat(name, desc) +#define plugin_def(name, desc, default_, all_, hidlib_) plugin3_stat(name, desc) #define plugin_header(sect) printf(sect); #define plugin_dep(plg, on, hidlib) #include "plugins.h" Index: trunk/scconfig/plugins.h =================================================================== --- trunk/scconfig/plugins.h (revision 26298) +++ trunk/scconfig/plugins.h (revision 26299) @@ -5,129 +5,129 @@ ******************************************************************************/ plugin_header("\nLibrary plugins:\n") -plugin_def("lib_compat_help", "#compatibility helper functions", sbuildin, 1) -plugin_def("lib_gensexpr", "#s-expression library", sdisable, 0) -plugin_def("lib_gtk_common", "all-hid_gtk common code", sdisable, 0) -plugin_def("lib_gtk_hid", "hid_gtk generic part", sdisable, 0) -plugin_def("lib_hid_common", "all-gui-hid common code", sdisable, 0) -plugin_def("lib_hid_gl", "openGL rendering", sdisable, 0) -plugin_def("lib_hid_pcbui", "common PCB-related GUI elements", sdisable, 0) -plugin_def("lib_netmap", "map nets and objects", sdisable, 0) -plugin_def("lib_polyhelp", "polygon helpers", sbuildin, 1) -plugin_def("lib_vfs", "fetch data for VFS export", sdisable, 0) -plugin_def("lib_wget", "wget(1) wrapper", sdisable, 0) +plugin_def("lib_compat_help", "#compatibility helper functions", sbuildin, 1, 0) +plugin_def("lib_gensexpr", "#s-expression library", sdisable, 0, 0) +plugin_def("lib_gtk_common", "all-hid_gtk common code", sdisable, 0, 0) +plugin_def("lib_gtk_hid", "hid_gtk generic part", sdisable, 0, 0) +plugin_def("lib_hid_common", "all-gui-hid common code", sdisable, 0, 0) +plugin_def("lib_hid_gl", "openGL rendering", sdisable, 0, 0) +plugin_def("lib_hid_pcbui", "common PCB-related GUI elements", sdisable, 0, 0) +plugin_def("lib_netmap", "map nets and objects", sdisable, 0, 0) +plugin_def("lib_polyhelp", "polygon helpers", sbuildin, 1, 0) +plugin_def("lib_vfs", "fetch data for VFS export", sdisable, 0, 0) +plugin_def("lib_wget", "wget(1) wrapper", sdisable, 0, 0) plugin_header("\nFeature plugins:\n") -plugin_def("acompnet", "net auto-completion", sdisable, 1) -plugin_def("act_draw", "action wrappers for drawing", sbuildin, 1) -plugin_def("act_read", "action wrappers for data access", sbuildin, 1) -plugin_def("ar_cpcb", "autoroute with c-pcb", sbuildin, 1) -plugin_def("asm", "assembly GUI", sbuildin, 1) -plugin_def("autocrop", "crop board to fit objects", sbuildin, 1) -plugin_def("autoplace", "auto place components", sbuildin, 1) -plugin_def("autoroute", "the original autorouter", sbuildin, 1) -plugin_def("diag", "diagnostic acts. for devs", sdisable, 1) -plugin_def("dialogs", "HID-independent GUI dialogs", sdisable, 1) -plugin_def("distaligntext", "distribute and align text", sbuildin, 1) -plugin_def("distalign", "distribute and align objs", sbuildin, 1) -plugin_def("djopt", "djopt board optimization", sbuildin, 1) -plugin_def("draw_csect", "draw cross-section (layers)", sdisable, 1) -plugin_def("draw_fab", "fab layer in some exports", sbuildin, 1) -plugin_def("draw_fontsel", "font selection GUI", sdisable, 1) -plugin_def("drc_orig", "the original DRC code", sbuildin, 1) -plugin_def("expfeat", "experimental features", sdisable, 1) -plugin_def("extedit", "edit with external program", sbuildin, 1) -plugin_def("fontmode", "font editor", sbuildin, 1) -plugin_def("jostle", "push lines out of the way", sbuildin, 1) -plugin_def("loghid", "diagnostics: log HID calls", sdisable, 1) -plugin_def("millpath", "calculate toolpath for milling", sdisable, 1) -plugin_def("mincut", "minimal cut shorts", sbuildin, 1) -plugin_def("oldactions", "old/obsolete actions", sdisable, 1) -plugin_def("order_pcbway", "board ordering from PCBWay", sdisable, 1) -plugin_def("order", "online board ordering", sdisable, 1) -plugin_def("polycombine", "combine selected polygons", sbuildin, 1) -plugin_def("polystitch", "stitch polygon at cursor", sbuildin, 1) -plugin_def("propedit", "object property editor", sbuildin, 1) -plugin_def("puller", "puller", sbuildin, 1) -plugin_def("query", "query language", sbuildin, 1) -plugin_def("renumber", "renumber action", sbuildin, 1) -plugin_def("report", "report actions", sbuildin, 1) -plugin_def("rubberband_orig", "the original rubberband", sbuildin, 1) -plugin_def("script", "fungw turing complete scripting", sbuildin, 1) -plugin_def("serpentine", "Serpentine creation", sdisable, 0) -plugin_def("shand_cmd", "command shorthands", sbuildin, 1) -plugin_def("shape", "generate regular shapes", sbuildin, 1) -plugin_def("sketch_route", "assisted semi-auto-routing", sdisable, 1) -plugin_def("smartdisperse", "netlist based dispenser", sbuildin, 1) -plugin_def("stroke", "mouse gestures", sbuildin, 1) -plugin_def("teardrops", "draw teardrops on pins", sbuildin, 1) -plugin_def("vendordrill", "vendor drill mapping", sbuildin, 1) +plugin_def("acompnet", "net auto-completion", sdisable, 1, 0) +plugin_def("act_draw", "action wrappers for drawing", sbuildin, 1, 0) +plugin_def("act_read", "action wrappers for data access", sbuildin, 1, 0) +plugin_def("ar_cpcb", "autoroute with c-pcb", sbuildin, 1, 0) +plugin_def("asm", "assembly GUI", sbuildin, 1, 0) +plugin_def("autocrop", "crop board to fit objects", sbuildin, 1, 0) +plugin_def("autoplace", "auto place components", sbuildin, 1, 0) +plugin_def("autoroute", "the original autorouter", sbuildin, 1, 0) +plugin_def("diag", "diagnostic acts. for devs", sdisable, 1, 0) +plugin_def("dialogs", "HID-independent GUI dialogs", sdisable, 1, 0) +plugin_def("distaligntext", "distribute and align text", sbuildin, 1, 0) +plugin_def("distalign", "distribute and align objs", sbuildin, 1, 0) +plugin_def("djopt", "djopt board optimization", sbuildin, 1, 0) +plugin_def("draw_csect", "draw cross-section (layers)", sdisable, 1, 0) +plugin_def("draw_fab", "fab layer in some exports", sbuildin, 1, 0) +plugin_def("draw_fontsel", "font selection GUI", sdisable, 1, 0) +plugin_def("drc_orig", "the original DRC code", sbuildin, 1, 0) +plugin_def("expfeat", "experimental features", sdisable, 1, 0) +plugin_def("extedit", "edit with external program", sbuildin, 1, 0) +plugin_def("fontmode", "font editor", sbuildin, 1, 0) +plugin_def("jostle", "push lines out of the way", sbuildin, 1, 0) +plugin_def("loghid", "diagnostics: log HID calls", sdisable, 1, 0) +plugin_def("millpath", "calculate toolpath for milling", sdisable, 1, 0) +plugin_def("mincut", "minimal cut shorts", sbuildin, 1, 0) +plugin_def("oldactions", "old/obsolete actions", sdisable, 1, 0) +plugin_def("order_pcbway", "board ordering from PCBWay", sdisable, 1, 0) +plugin_def("order", "online board ordering", sdisable, 1, 0) +plugin_def("polycombine", "combine selected polygons", sbuildin, 1, 0) +plugin_def("polystitch", "stitch polygon at cursor", sbuildin, 1, 0) +plugin_def("propedit", "object property editor", sbuildin, 1, 0) +plugin_def("puller", "puller", sbuildin, 1, 0) +plugin_def("query", "query language", sbuildin, 1, 0) +plugin_def("renumber", "renumber action", sbuildin, 1, 0) +plugin_def("report", "report actions", sbuildin, 1, 0) +plugin_def("rubberband_orig", "the original rubberband", sbuildin, 1, 0) +plugin_def("script", "fungw turing complete scripting", sbuildin, 1, 0) +plugin_def("serpentine", "Serpentine creation", sdisable, 0, 0) +plugin_def("shand_cmd", "command shorthands", sbuildin, 1, 0) +plugin_def("shape", "generate regular shapes", sbuildin, 1, 0) +plugin_def("sketch_route", "assisted semi-auto-routing", sdisable, 1, 0) +plugin_def("smartdisperse", "netlist based dispenser", sbuildin, 1, 0) +plugin_def("stroke", "mouse gestures", sbuildin, 1, 0) +plugin_def("teardrops", "draw teardrops on pins", sbuildin, 1, 0) +plugin_def("vendordrill", "vendor drill mapping", sbuildin, 1, 0) plugin_header("\nFootprint backends:\n") -plugin_def("fp_board", "footprint library from boards", sbuildin, 1) -plugin_def("fp_fs", "filesystem footprints", sbuildin, 1) -plugin_def("fp_wget", "web footprints", sbuildin, 1) +plugin_def("fp_board", "footprint library from boards", sbuildin, 1, 0) +plugin_def("fp_fs", "filesystem footprints", sbuildin, 1, 0) +plugin_def("fp_wget", "web footprints", sbuildin, 1, 0) plugin_header("\nImport plugins:\n") -plugin_def("import_calay", "import calay .net", sbuildin, 1) -plugin_def("import_dsn", "specctra .dsn importer", sbuildin, 1) -plugin_def("import_edif", "import edif", sbuildin, 1) -plugin_def("import_fpcb_nl", "import freepcb netlist", sbuildin, 1) -plugin_def("import_hpgl", "import HP-GL plot files", sbuildin, 1) -plugin_def("import_ipcd356", "import IPC-D-356 Netlist", sbuildin, 1) -plugin_def("import_ltspice", "import ltspice .net+.asc", sbuildin, 1) -plugin_def("import_mentor_sch","import mentor graphics sch", sbuildin, 1) -plugin_def("import_mucs", "import mucs routing", sbuildin, 1) -plugin_def("import_netlist", "import netlist", sbuildin, 1) -plugin_def("import_sch", "import sch", sbuildin, 1) -plugin_def("import_tinycad", "import tinycad .net", sbuildin, 1) -plugin_def("import_ttf", "import ttf glyphs", sbuildin, 1) +plugin_def("import_calay", "import calay .net", sbuildin, 1, 0) +plugin_def("import_dsn", "specctra .dsn importer", sbuildin, 1, 0) +plugin_def("import_edif", "import edif", sbuildin, 1, 0) +plugin_def("import_fpcb_nl", "import freepcb netlist", sbuildin, 1, 0) +plugin_def("import_hpgl", "import HP-GL plot files", sbuildin, 1, 0) +plugin_def("import_ipcd356", "import IPC-D-356 Netlist", sbuildin, 1, 0) +plugin_def("import_ltspice", "import ltspice .net+.asc", sbuildin, 1, 0) +plugin_def("import_mentor_sch","import mentor graphics sch", sbuildin, 1, 0) +plugin_def("import_mucs", "import mucs routing", sbuildin, 1, 0) +plugin_def("import_netlist", "import netlist", sbuildin, 1, 0) +plugin_def("import_sch", "import sch", sbuildin, 1, 0) +plugin_def("import_tinycad", "import tinycad .net", sbuildin, 1, 0) +plugin_def("import_ttf", "import ttf glyphs", sbuildin, 1, 0) plugin_header("\nExport plugins:\n") -plugin_def("cam", "cam/job based export", sbuildin, 1) -plugin_def("ddraft", "2D drafting helper", sbuildin, 1) -plugin_def("export_bboard", "breadboard pcb_exporter", sdisable, 0) -plugin_def("export_bom", "bom pcb_exporter", sbuildin, 1) -plugin_def("export_dsn", "specctra .dsn pcb_exporter", sbuildin, 1) -plugin_def("export_dxf", "DXF pcb_exporter", sbuildin, 1) -plugin_def("export_excellon", "Excellon drill exporter", sbuildin, 1) -plugin_def("export_fidocadj", "FidoCadJ .fcd pcb_exporter", sbuildin, 1) -plugin_def("export_gcode", "gcode pcb_exporter", sbuildin, 1) -plugin_def("export_gerber", "Gerber pcb_exporter", sbuildin, 1) -plugin_def("export_ipcd356", "IPC-D-356 Netlist pcb_exporter", sbuildin, 1) -plugin_def("export_lpr", "lpr pcb_exporter (printer)", sbuildin, 1) -plugin_def("export_oldconn", "old connection data format", sbuildin, 1) -plugin_def("export_openems", "openems exporter", sdisable, 1) -plugin_def("export_openscad", "openscad pcb_exporter", sbuildin, 1) -plugin_def("export_png", "png/gif/jpg pcb_exporter", sbuildin, 1) -plugin_def("export_ps", "postscript pcb_exporter", sbuildin, 1) -plugin_def("export_stat", "export board statistics", sbuildin, 1) -plugin_def("export_stl", "3d export: STL ", sdisable, 1) -plugin_def("export_svg", "SVG pcb_exporter", sbuildin, 1) -plugin_def("export_test", "dummy test pcb_exporter", sdisable, 1) -plugin_def("export_vfs_fuse", "FUSE VFS server", sdisable, 1) -plugin_def("export_vfs_mc", "GNU mc VFS server", sdisable, 1) -plugin_def("export_xy", "xy (centroid) pcb_exporter", sbuildin, 1) +plugin_def("cam", "cam/job based export", sbuildin, 1, 0) +plugin_def("ddraft", "2D drafting helper", sbuildin, 1, 0) +plugin_def("export_bboard", "breadboard pcb_exporter", sdisable, 0, 0) +plugin_def("export_bom", "bom pcb_exporter", sbuildin, 1, 0) +plugin_def("export_dsn", "specctra .dsn pcb_exporter", sbuildin, 1, 0) +plugin_def("export_dxf", "DXF pcb_exporter", sbuildin, 1, 0) +plugin_def("export_excellon", "Excellon drill exporter", sbuildin, 1, 0) +plugin_def("export_fidocadj", "FidoCadJ .fcd pcb_exporter", sbuildin, 1, 0) +plugin_def("export_gcode", "gcode pcb_exporter", sbuildin, 1, 0) +plugin_def("export_gerber", "Gerber pcb_exporter", sbuildin, 1, 0) +plugin_def("export_ipcd356", "IPC-D-356 Netlist pcb_exporter", sbuildin, 1, 0) +plugin_def("export_lpr", "lpr pcb_exporter (printer)", sbuildin, 1, 0) +plugin_def("export_oldconn", "old connection data format", sbuildin, 1, 0) +plugin_def("export_openems", "openems exporter", sdisable, 1, 0) +plugin_def("export_openscad", "openscad pcb_exporter", sbuildin, 1, 0) +plugin_def("export_png", "png/gif/jpg pcb_exporter", sbuildin, 1, 0) +plugin_def("export_ps", "postscript pcb_exporter", sbuildin, 1, 0) +plugin_def("export_stat", "export board statistics", sbuildin, 1, 0) +plugin_def("export_stl", "3d export: STL ", sdisable, 1, 0) +plugin_def("export_svg", "SVG pcb_exporter", sbuildin, 1, 0) +plugin_def("export_test", "dummy test pcb_exporter", sdisable, 1, 0) +plugin_def("export_vfs_fuse", "FUSE VFS server", sdisable, 1, 0) +plugin_def("export_vfs_mc", "GNU mc VFS server", sdisable, 1, 0) +plugin_def("export_xy", "xy (centroid) pcb_exporter", sbuildin, 1, 0) plugin_header("\nIO plugins (file formats):\n") -plugin_def("io_autotrax", "autotrax (freeware PCB CAD)", sbuildin, 1) -plugin_def("io_dsn", "specctra .dsn", sdisable, 1) -plugin_def("io_eagle", "Eagle's xml and binary formats", sbuildin, 1) -plugin_def("io_hyp", "hyperlynx .hyp loader", sbuildin, 1) -plugin_def("io_kicad_legacy", "Kicad's legacy format", sbuildin, 1) -plugin_def("io_kicad", "Kicad's s-expr format", sbuildin, 1) -plugin_def("io_lihata", "lihata board format", sbuildin, 1) -plugin_def("io_mentor_cell", "Mentor Graphics cell footprints", sdisable, 1) -plugin_def("io_pcb", "the original pcb format", sbuildin, 1) -plugin_def("io_tedax", "tEDAx (Trivial EDA eXchange)", sbuildin, 1) +plugin_def("io_autotrax", "autotrax (freeware PCB CAD)", sbuildin, 1, 0) +plugin_def("io_dsn", "specctra .dsn", sdisable, 1, 0) +plugin_def("io_eagle", "Eagle's xml and binary formats", sbuildin, 1, 0) +plugin_def("io_hyp", "hyperlynx .hyp loader", sbuildin, 1, 0) +plugin_def("io_kicad_legacy", "Kicad's legacy format", sbuildin, 1, 0) +plugin_def("io_kicad", "Kicad's s-expr format", sbuildin, 1, 0) +plugin_def("io_lihata", "lihata board format", sbuildin, 1, 0) +plugin_def("io_mentor_cell", "Mentor Graphics cell footprints", sdisable, 1, 0) +plugin_def("io_pcb", "the original pcb format", sbuildin, 1, 0) +plugin_def("io_tedax", "tEDAx (Trivial EDA eXchange)", sbuildin, 1, 0) plugin_header("\nHID plugins:\n") -plugin_def("hid_batch", "batch process (no-gui HID)", sbuildin, 1) -plugin_def("hid_gtk2_gdk", "GTK2 GUI, software render", sbuildin, 1) -plugin_def("hid_gtk2_gl", "GTK2 GUI, opengl render", sbuildin, 1) -plugin_def("hid_gtk3_cairo", "#GTK3 GUI, cairo render", sdisable, 0) -plugin_def("hid_lesstif", "the lesstif gui", sbuildin, 1) -plugin_def("hid_remote", "remote HID server", sdisable, 0) +plugin_def("hid_batch", "batch process (no-gui HID)", sbuildin, 1, 1) +plugin_def("hid_gtk2_gdk", "GTK2 GUI, software render", sbuildin, 1, 1) +plugin_def("hid_gtk2_gl", "GTK2 GUI, opengl render", sbuildin, 1, 1) +plugin_def("hid_gtk3_cairo", "#GTK3 GUI, cairo render", sdisable, 0, 0) +plugin_def("hid_lesstif", "the lesstif gui", sbuildin, 1, 0) +plugin_def("hid_remote", "remote HID server", sdisable, 0, 0) plugin_dep("ar_cpcb", "lib_compat_help", 0) Index: trunk/src_plugins/map_plugins.sh =================================================================== --- trunk/src_plugins/map_plugins.sh (revision 26298) +++ trunk/src_plugins/map_plugins.sh (revision 26299) @@ -9,7 +9,7 @@ # generate scconfig's 3 state plugin list -$PUPLUG findpups . '%$class$|%N|%3|%A|%$short$\n' | sed ' +$PUPLUG findpups . '%$class$|%N|%3|%A|%$short$|0%$hidlib$\n' | sed ' s/^lib/1|lib/ s/^feature/2|feature/ s/^fp/3|fp/ @@ -26,6 +26,7 @@ HDR["export"] = "Export plugins" HDR["io"] = "IO plugins (file formats)" HDR["hid"] = "HID plugins" + HDR["hidlib"] = "hidlib plugins" print "/******************************************************************************" print " Auto-generated by trunk/src_plugins/map_plugins.sh - do NOT edit," print " run make map_plugins in trunk/src/ - to change any of the data below," @@ -43,7 +44,7 @@ { if ($4 == "") print "Error: invalid default in plugin: " $3 > "/dev/stderr" - printf("plugin_def(%-20s%-35s%-10s%s)\n", q($3), q($6), $4 "," , $5) + printf("plugin_def(%-20s%-35s%-10s%s, %d)\n", q($3), q($6), $4 "," , $5, $7) } END { print "\n" }