Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 24285) +++ trunk/scconfig/Rev.h (revision 24286) @@ -1 +1 @@ -static const int myrev = 24277; +static const int myrev = 24286; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 24285) +++ trunk/scconfig/Rev.tab (revision 24286) @@ -1,4 +1,4 @@ -24277 configure preparing for hidlib, splitting source files +24286 configure preparing for hidlib, splitting source files, scconfig hidlib deps 23917 configure compound DAD widgets, for DAD based spinboxes 23902 configure cleanup: remove dead code from gtk 23857 configure new, centralized log dialog Index: trunk/scconfig/hooks.c =================================================================== --- trunk/scconfig/hooks.c (revision 24285) +++ trunk/scconfig/hooks.c (revision 24286) @@ -36,7 +36,7 @@ #undef plugin_dep #define plugin_def(name, desc, default_, all_) plugin3_args(name, desc) #define plugin_header(sect) -#define plugin_dep(plg, on) +#define plugin_dep(plg, on, hidlib) #include "plugins.h" {NULL, NULL, NULL, NULL} @@ -179,12 +179,23 @@ require = 1 - check if dependencies are met, disable plugins that have unmet deps */ -int plugin_dep1(int require, const char *plugin, const char *deps_on) +int plugin_dep1(int require, const char *plugin, const char *deps_on, int hidlib) { char buff[1024]; const char *st_plugin, *st_deps_on; int dep_chg = 0; + sprintf(buff, "/local/pcb/%s/hidlib", plugin); + if (!hidlib) { /* may be inherited */ + hidlib = get(buff) != NULL; + } + + if (hidlib) { + put(buff, strue); + sprintf(buff, "/local/pcb/%s/hidlib", deps_on); + put(buff, strue); + } + sprintf(buff, "/local/pcb/%s/controls", plugin); st_plugin = get(buff); sprintf(buff, "/local/pcb/%s/controls", deps_on); @@ -235,7 +246,7 @@ put(buff, state); \ } #define plugin_header(sect) -#define plugin_dep(plg, on) +#define plugin_dep(plg, on, hidlib) #include "plugins.h" } @@ -247,7 +258,7 @@ #undef plugin_dep #define plugin_def(name, desc, default_, all_) #define plugin_header(sect) -#define plugin_dep(plg, on) dep_chg += plugin_dep1(require, plg, on); +#define plugin_dep(plg, on, hidlib) dep_chg += plugin_dep1(require, plg, on, hidlib); #include "plugins.h" return dep_chg; } @@ -279,7 +290,7 @@ #undef plugin_dep #define plugin_def(name, desc, default_, all_) plugin3_default(name, default_) #define plugin_header(sect) -#define plugin_dep(plg, on) +#define plugin_dep(plg, on, hidlib) #include "plugins.h" put("/local/pcb/want_bison", sfalse); @@ -314,7 +325,7 @@ } \ } #define plugin_header(sect) -#define plugin_dep(plg, on) +#define plugin_dep(plg, on, hidlib) #include "plugins.h" return tainted; } @@ -932,7 +943,7 @@ #undef plugin_dep #define plugin_def(name, desc, default_, all_) plugin3_stat(name, desc) #define plugin_header(sect) printf(sect); -#define plugin_dep(plg, on) +#define plugin_dep(plg, on, hidlib) #include "plugins.h" if (repeat != NULL) { Index: trunk/scconfig/plugins.h =================================================================== --- trunk/scconfig/plugins.h (revision 24285) +++ trunk/scconfig/plugins.h (revision 24286) @@ -100,7 +100,9 @@ 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_fuse", "FUSE VFS server", sdisable, 1) plugin_def("export_vfs_mc", "GNU mc 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_header("\nIO plugins (file formats):\n") @@ -124,50 +126,52 @@ plugin_def("hid_remote", "remote HID server", sdisable, 0) -plugin_dep("ar_cpcb", "lib_compat_help") -plugin_dep("ar_cpcb", "lib_gensexpr") -plugin_dep("ar_cpcb", "lib_netmap") -plugin_dep("autoroute", "lib_compat_help") -plugin_dep("dialogs", "draw_fontsel") -plugin_dep("draw_fab", "report") -plugin_dep("export_fidocadj", "lib_compat_help") -plugin_dep("export_ipcd356", "lib_compat_help") -plugin_dep("export_lpr", "export_ps") -plugin_dep("export_openems", "lib_polyhelp") -plugin_dep("export_openscad", "lib_polyhelp") -plugin_dep("export_vfs_fuse", "lib_vfs") -plugin_dep("export_vfs_mc", "lib_vfs") -plugin_dep("export_xy", "export_bom") -plugin_dep("extedit", "io_lihata") -plugin_dep("fp_wget", "fp_fs") -plugin_dep("hid_gtk2_gdk", "draw_csect") -plugin_dep("hid_gtk2_gdk", "lib_gtk_common") -plugin_dep("hid_gtk2_gdk", "lib_gtk_hid") -plugin_dep("hid_gtk2_gl", "draw_csect") -plugin_dep("hid_gtk2_gl", "lib_gtk_common") -plugin_dep("hid_gtk2_gl", "lib_gtk_hid") -plugin_dep("hid_gtk2_gl", "lib_hid_gl") -plugin_dep("hid_gtk3_cairo", "draw_csect") -plugin_dep("hid_gtk3_cairo", "lib_gtk_common") -plugin_dep("hid_gtk3_cairo", "lib_gtk_hid") -plugin_dep("hid_lesstif", "dialogs") -plugin_dep("hid_lesstif", "draw_csect") -plugin_dep("hid_lesstif", "lib_hid_common") -plugin_dep("import_dsn", "lib_compat_help") -plugin_dep("import_ipcd356", "lib_compat_help") -plugin_dep("import_mentor_sch", "lib_gensexpr") -plugin_dep("import_mucs", "lib_compat_help") -plugin_dep("io_autotrax", "lib_polyhelp") -plugin_dep("io_dsn", "lib_gensexpr") -plugin_dep("io_hyp", "lib_netmap") -plugin_dep("io_kicad", "lib_gensexpr") -plugin_dep("io_kicad_legacy", "io_kicad") -plugin_dep("io_lihata", "lib_compat_help") -plugin_dep("io_pcb", "lib_compat_help") -plugin_dep("io_tedax", "lib_compat_help") -plugin_dep("io_tedax", "lib_netmap") -plugin_dep("lib_gtk_common", "dialogs") -plugin_dep("lib_gtk_hid", "dialogs") -plugin_dep("lib_gtk_hid", "lib_hid_common") -plugin_dep("lib_vfs", "propedit") -plugin_dep("millpath", "lib_polyhelp") +plugin_dep("ar_cpcb", "lib_compat_help", 0) +plugin_dep("ar_cpcb", "lib_gensexpr", 0) +plugin_dep("ar_cpcb", "lib_netmap", 0) +plugin_dep("autoroute", "lib_compat_help", 0) +plugin_dep("dialogs", "draw_fontsel", 0) +plugin_dep("draw_fab", "report", 0) +plugin_dep("export_fidocadj", "lib_compat_help", 0) +plugin_dep("export_ipcd356", "lib_compat_help", 0) +plugin_dep("export_lpr", "export_ps", 0) +plugin_dep("export_openems", "lib_polyhelp", 0) +plugin_dep("export_openscad", "lib_polyhelp", 0) +plugin_dep("export_vfs_fuse", "lib_vfs", 0) +plugin_dep("export_vfs_fuse", "lib_vfs", 0) +plugin_dep("export_vfs_mc", "lib_vfs", 0) +plugin_dep("export_vfs_mc", "lib_vfs", 0) +plugin_dep("export_xy", "export_bom", 0) +plugin_dep("extedit", "io_lihata", 0) +plugin_dep("fp_wget", "fp_fs", 0) +plugin_dep("hid_gtk2_gdk", "draw_csect", 01) +plugin_dep("hid_gtk2_gdk", "lib_gtk_common", 01) +plugin_dep("hid_gtk2_gdk", "lib_gtk_hid", 01) +plugin_dep("hid_gtk2_gl", "draw_csect", 0) +plugin_dep("hid_gtk2_gl", "lib_gtk_common", 0) +plugin_dep("hid_gtk2_gl", "lib_gtk_hid", 0) +plugin_dep("hid_gtk2_gl", "lib_hid_gl", 0) +plugin_dep("hid_gtk3_cairo", "draw_csect", 0) +plugin_dep("hid_gtk3_cairo", "lib_gtk_common", 0) +plugin_dep("hid_gtk3_cairo", "lib_gtk_hid", 0) +plugin_dep("hid_lesstif", "dialogs", 0) +plugin_dep("hid_lesstif", "draw_csect", 0) +plugin_dep("hid_lesstif", "lib_hid_common", 0) +plugin_dep("import_dsn", "lib_compat_help", 0) +plugin_dep("import_ipcd356", "lib_compat_help", 0) +plugin_dep("import_mentor_sch", "lib_gensexpr", 0) +plugin_dep("import_mucs", "lib_compat_help", 0) +plugin_dep("io_autotrax", "lib_polyhelp", 0) +plugin_dep("io_dsn", "lib_gensexpr", 0) +plugin_dep("io_hyp", "lib_netmap", 0) +plugin_dep("io_kicad", "lib_gensexpr", 0) +plugin_dep("io_kicad_legacy", "io_kicad", 0) +plugin_dep("io_lihata", "lib_compat_help", 0) +plugin_dep("io_pcb", "lib_compat_help", 0) +plugin_dep("io_tedax", "lib_compat_help", 0) +plugin_dep("io_tedax", "lib_netmap", 0) +plugin_dep("lib_gtk_common", "dialogs", 0) +plugin_dep("lib_gtk_hid", "dialogs", 0) +plugin_dep("lib_gtk_hid", "lib_hid_common", 0) +plugin_dep("lib_vfs", "propedit", 0) +plugin_dep("millpath", "lib_polyhelp", 0) Index: trunk/src/Makefile.in =================================================================== --- trunk/src/Makefile.in (revision 24285) +++ trunk/src/Makefile.in (revision 24286) @@ -8,6 +8,8 @@ append /local/pcb/LDFLAGS ?/local/pcb/cflags_profile put /local/pcb/DEPCFLAGS {} put /local/pcb/OBJS_HIDLIB {} +put /local/pcb/OBJS_C99_HIDLIB_PLG {} +put /local/pcb/OBJS_HIDLIB_PLG {} put /tmpasm/OFS { } if ?libs/script/fungw/presents @@ -305,8 +307,10 @@ uniq /local/pcb/OBJS uniq /local/pcb/OBJS_C99 uniq /local/pcb/OBJS_HIDLIB +uniq /local/pcb/OBJS_C99_HIDLIB +uniq /local/pcb/OBJS_HIDLIB_PLG +uniq /local/pcb/OBJS_C99_HIDLIB_PLG uniq /local/pcb/OBJS_HIDLIB_ONLY -uniq /local/pcb/OBJS_C99_HIDLIB uniq /local/pcb/OBJS_UTIL uniq /local/pcb/CFLAGS uniq /local/pcb/LDFLAGS @@ -346,8 +350,10 @@ OBJS=@/local/pcb/OBJS@ OBJS_C99=@/local/pcb/OBJS_C99@ OBJS_HIDLIB=@/local/pcb/OBJS_HIDLIB@ +OBJS_C99_HIDLIB=@/local/pcb/OBJS_C99_HIDLIB@ +OBJS_HIDLIB_PLG=@/local/pcb/OBJS_HIDLIB_PLG@ +OBJS_C99_HIDLIB_PLG=@/local/pcb/OBJS_C99_HIDLIB_PLG@ OBJS_HIDLIB_ONLY=@/local/pcb/OBJS_HIDLIB_ONLY@ -OBJS_C99_HIDLIB=@/local/pcb/OBJS_C99_HIDLIB@ OBJS_UTIL=@/local/pcb/OBJS_UTIL@ SRCS=@/local/pcb/SRCS@ CFLAGS=@?cc/argstd/std_c99@ @/local/pcb/CFLAGS@ @@ -384,8 +390,8 @@ $(CC) $(OBJS) $(OBJS_C99) -o pcb-rnd$(EXE) $(LIBS_PRE) $(LDFLAGS) $(LIBS) # temporary, for testig -hidlib$(EXE): $(OBJS_HIDLIB) $(OBJS_HIDLIB_ONLY) $(OBJS_C99_HIDLIB) $(EXEDEPS) $(LIBS_3RD) - $(CC) $(OBJS_HIDLIB) $(OBJS_HIDLIB_ONLY) $(OBJS_C99_HIDLIB) -o hidlib$(EXE) $(LIBS_PRE) $(LDFLAGS) $(LIBS) $(LIBS_3RD) +hidlib$(EXE): $(OBJS_HIDLIB) $(OBJS_C99_HIDLIB) $(OBJS_HIDLIB_PLG) $(OBJS_C99_HIDLIB_PLG) $(OBJS_HIDLIB_ONLY) $(EXEDEPS) $(LIBS_3RD) + $(CC) $(OBJS_HIDLIB_PLG) $(OBJS_C99_HIDLIB_PLG) $(OBJS_HIDLIB) $(OBJS_C99_HIDLIB) $(OBJS_HIDLIB_ONLY) -o hidlib$(EXE) $(LIBS_PRE) $(LDFLAGS) $(LIBS) $(LIBS_3RD) $(SPHASH_PATH)/sphash: $(SPHASH_PATH)/sphash.c Index: trunk/src_plugins/Buildin.tmpasm =================================================================== --- trunk/src_plugins/Buildin.tmpasm (revision 24285) +++ trunk/src_plugins/Buildin.tmpasm (revision 24286) @@ -24,4 +24,15 @@ @] +# if plugin is part of the hidlib system, also append the objects +# to the hidlib object lists +put /local/pcb/mod/is_hidlib [@/local/pcb/@/local/pcb/mod@/hidlib@] +resolve /local/pcb/mod/is_hidlib ?/local/pcb/mod/is_hidlib +if ?/local/pcb/mod/is_hidlib +then + append /local/pcb/HIDLIB_PLG /local/pcb/mod + append /local/pcb/OBJS_HIDLIB_PLG ?/local/pcb/mod/OBJS + append /local/pcb/OBJS_C99_HIDLIB_PLG ?/local/pcb/mod/OBJS_C99 +end + include /local/pcb/tmpasm/common_enabled Index: trunk/src_plugins/hid_gtk2_gdk/hid_gtk2_gdk.pup =================================================================== --- trunk/src_plugins/hid_gtk2_gdk/hid_gtk2_gdk.pup (revision 24285) +++ trunk/src_plugins/hid_gtk2_gdk/hid_gtk2_gdk.pup (revision 24286) @@ -3,6 +3,7 @@ $long GUI: GTK2 HID with GDK software rendering. $state works $package hid-gtk2-gdk +$hidlib 1 default buildin dep lib_gtk_common dep lib_gtk_hid Index: trunk/src_plugins/map_plugins.sh =================================================================== --- trunk/src_plugins/map_plugins.sh (revision 24285) +++ trunk/src_plugins/map_plugins.sh (revision 24286) @@ -50,7 +50,7 @@ ' > ../scconfig/plugins.h -$PUPLUG findpups . "" 'plugin_dep("%N", "%m")\n' | sort >> ../scconfig/plugins.h +$PUPLUG findpups . "" 'plugin_dep("%N", "%m", 0%$hidlib$)\n' | sort >> ../scconfig/plugins.h # Generate the plugin list Index: trunk/src_plugins/plugins_ALL.tmpasm =================================================================== --- trunk/src_plugins/plugins_ALL.tmpasm (revision 24285) +++ trunk/src_plugins/plugins_ALL.tmpasm (revision 24286) @@ -83,6 +83,8 @@ include {../src_plugins/lib_netmap/Plug.tmpasm} include {../src_plugins/lib_polyhelp/Plug.tmpasm} include {../src_plugins/lib_vfs/Plug.tmpasm} +include {../src_plugins/lib_vfs/export_vfs_fuse/Plug.tmpasm} +include {../src_plugins/lib_vfs/export_vfs_mc/Plug.tmpasm} include {../src_plugins/loghid/Plug.tmpasm} include {../src_plugins/millpath/Plug.tmpasm} include {../src_plugins/mincut/Plug.tmpasm}