Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 32630) +++ trunk/scconfig/Rev.h (revision 32631) @@ -1 +1 @@ -static const int myrev = 32630; +static const int myrev = 32631; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 32630) +++ trunk/scconfig/Rev.tab (revision 32631) @@ -1,4 +1,4 @@ -32630 configure librnd separation +32631 configure librnd separation 32394 configure autoroute plugin: menu and conf 32327 configure new autoroute plugin for external autorouters 32326 configure new netlist import plugins: pads ascii netlist, orcad pcb II netlist, accel netliet, protel netlist 2.0 Index: trunk/src/Makefile.in =================================================================== --- trunk/src/Makefile.in (revision 32630) +++ trunk/src/Makefile.in (revision 32631) @@ -292,6 +292,8 @@ put /local/pcb/tmpasm/buildin {../src_plugins/Buildin.tmpasm} put /local/pcb/tmpasm/plugin {../src_plugins/Plugin.tmpasm} +put /local/pcb/tmpasm/plugin_local {../src_plugins/Plugin_local.tmpasm} +put /local/pcb/tmpasm/plugin_librnd {../src_plugins/Plugin_librnd.tmpasm} put /local/pcb/tmpasm/disable {../src_plugins/Disable.tmpasm} put /local/pcb/tmpasm/common_enabled {../src_plugins/Common_enabled.tmpasm} put /local/pcb/tmpasm/plugin_sphash {../src_3rd/librnd/scconfig/template/plugin_sphash.tmpasm} @@ -698,7 +700,7 @@ # our local builtins must contain librnd plugins too; but those plugins are # in a different subdir. The workaround is extending the file names with local, # relative path to that dir. -put /local/pcb/buildin_hidlib_pups_fullpath /local/pcb/buildin_hidlib_pups +put /local/pcb/buildin_hidlib_pups_fullpath ?/local/pcb/buildin_hidlib_pups gsub /local/pcb/buildin_hidlib_pups_fullpath {=} {=../src_3rd/librnd/plugins/} redir {../src_plugins/.builtin.pups} Index: trunk/src_plugins/Plugin.tmpasm =================================================================== --- trunk/src_plugins/Plugin.tmpasm (revision 32630) +++ trunk/src_plugins/Plugin.tmpasm (revision 32631) @@ -1,48 +1,12 @@ -# tmpasm script for compiling a plugin_src/ module as a plugin -# Requires variables before the include: -# /local/pcb/mod basename of the module (e.g. autoplace) -# /local/pcb/mod/OBJS full path of all object files -# /local/pcb/mod/OBJS_C99 full path of all object files for non-c89 +# temporary solution for dispathcing compilation of hidlib plugins and +# local plugins for the transition, while we are still compiling librnd +# locally. Will be removed once pcb-rnd depends on librnd as external dep. -# clean up input vars -uniq /local/pcb/mod/OBJS -uniq /local/pcb/mod/OBJS_C99 -uniq /local/pcb/mod/CFLAGS -uniq /local/pcb/mod/LDFLAGS -uniq /local/pcb/mod/LIBS - -# generate .c -> .o rules in /local/comp/output -put /local/comp/OBJS ?/local/pcb/mod/OBJS -put /local/comp/OBJS_C99 ?/local/pcb/mod/OBJS_C99 -put /local/comp/CFLAGS /local/pcb/mod/CFLAGS -include {../scconfig/template/comp_var.tmpasm} - -append /local/pcb/all [@ $(PLUGIDIR)/@/local/pcb/mod@.so @] - -append /local/pcb/rules/install_ [@ - $(SCCBOX) $(HOW) "$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so" "$(LIBDIR)/plugins/@/local/pcb/mod@.so" - $(SCCBOX) $(HOW) "$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup" "$(LIBDIR)/plugins/@/local/pcb/mod@.pup"@] - -append /local/pcb/CLEANFILES [@ $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ @] - -append /local/pcb/RULES [@ - -### Module @/local/pcb/mod@: plugin ### - -$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so: @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ - $(CC) -shared @cc/rdynamic@ -o $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ $(LDFLAGS) @/local/pcb/mod/LDFLAGS@ - -mod_@/local/pcb/mod@: $(PLUGIDIR)/@/local/pcb/mod@.so - -$(PLUGIDIR)/@/local/pcb/mod@.so: $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so - $(MKDIR) $(PLUGIDIR) - $(CP) $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so - $(CP) $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup $(PLUGIDIR)/@/local/pcb/mod@.pup - -# module .c -> .o rules -@/local/comp/output@ - -### Module @/local/pcb/mod@ end ### -@] - -include /local/pcb/tmpasm/common_enabled +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 + include /local/pcb/tmpasm/plugin_librnd; +else + include /local/pcb/tmpasm/plugin_local; +end Index: trunk/src_plugins/Plugin_librnd.tmpasm =================================================================== --- trunk/src_plugins/Plugin_librnd.tmpasm (nonexistent) +++ trunk/src_plugins/Plugin_librnd.tmpasm (revision 32631) @@ -0,0 +1,48 @@ +# tmpasm script for compiling a plugin_src/ module as a plugin +# Requires variables before the include: +# /local/pcb/mod basename of the module (e.g. autoplace) +# /local/pcb/mod/OBJS full path of all object files +# /local/pcb/mod/OBJS_C99 full path of all object files for non-c89 + +# clean up input vars +uniq /local/pcb/mod/OBJS +uniq /local/pcb/mod/OBJS_C99 +uniq /local/pcb/mod/CFLAGS +uniq /local/pcb/mod/LDFLAGS +uniq /local/pcb/mod/LIBS + +# generate .c -> .o rules in /local/comp/output +put /local/comp/OBJS ?/local/pcb/mod/OBJS +put /local/comp/OBJS_C99 ?/local/pcb/mod/OBJS_C99 +put /local/comp/CFLAGS /local/pcb/mod/CFLAGS +include {../src_3rd/librnd/scconfig/template/comp_var.tmpasm} + +append /local/pcb/all [@ $(PLUGIDIR)/@/local/pcb/mod@.so @] + +append /local/pcb/rules/install_ [@ + $(SCCBOX) $(HOW) "$(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so" "$(LIBDIR)/plugins/@/local/pcb/mod@.so" + $(SCCBOX) $(HOW) "$(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup" "$(LIBDIR)/plugins/@/local/pcb/mod@.pup"@] + +append /local/pcb/CLEANFILES [@ $(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ @] + +append /local/pcb/RULES [@ + +### Module @/local/pcb/mod@: plugin ### + +$(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so: @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ + $(CC) -shared @cc/rdynamic@ -o $(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ $(LDFLAGS) @/local/pcb/mod/LDFLAGS@ + +mod_@/local/pcb/mod@: $(PLUGIDIR)/@/local/pcb/mod@.so + +$(PLUGIDIR)/@/local/pcb/mod@.so: $(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so + $(MKDIR) $(PLUGIDIR) + $(CP) $(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so + $(CP) $(LIBRND_PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup $(PLUGIDIR)/@/local/pcb/mod@.pup + +# module .c -> .o rules +@/local/comp/output@ + +### Module @/local/pcb/mod@ end ### +@] + +include /local/pcb/tmpasm/common_enabled Index: trunk/src_plugins/Plugin_local.tmpasm =================================================================== --- trunk/src_plugins/Plugin_local.tmpasm (nonexistent) +++ trunk/src_plugins/Plugin_local.tmpasm (revision 32631) @@ -0,0 +1,48 @@ +# tmpasm script for compiling a plugin_src/ module as a plugin +# Requires variables before the include: +# /local/pcb/mod basename of the module (e.g. autoplace) +# /local/pcb/mod/OBJS full path of all object files +# /local/pcb/mod/OBJS_C99 full path of all object files for non-c89 + +# clean up input vars +uniq /local/pcb/mod/OBJS +uniq /local/pcb/mod/OBJS_C99 +uniq /local/pcb/mod/CFLAGS +uniq /local/pcb/mod/LDFLAGS +uniq /local/pcb/mod/LIBS + +# generate .c -> .o rules in /local/comp/output +put /local/comp/OBJS ?/local/pcb/mod/OBJS +put /local/comp/OBJS_C99 ?/local/pcb/mod/OBJS_C99 +put /local/comp/CFLAGS /local/pcb/mod/CFLAGS +include {../src_3rd/librnd/scconfig/template/comp_var.tmpasm} + +append /local/pcb/all [@ $(PLUGIDIR)/@/local/pcb/mod@.so @] + +append /local/pcb/rules/install_ [@ + $(SCCBOX) $(HOW) "$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so" "$(LIBDIR)/plugins/@/local/pcb/mod@.so" + $(SCCBOX) $(HOW) "$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup" "$(LIBDIR)/plugins/@/local/pcb/mod@.pup"@] + +append /local/pcb/CLEANFILES [@ $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ @] + +append /local/pcb/RULES [@ + +### Module @/local/pcb/mod@: plugin ### + +$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so: @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ + $(CC) -shared @cc/rdynamic@ -o $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ $(LDFLAGS) @/local/pcb/mod/LDFLAGS@ + +mod_@/local/pcb/mod@: $(PLUGIDIR)/@/local/pcb/mod@.so + +$(PLUGIDIR)/@/local/pcb/mod@.so: $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so + $(MKDIR) $(PLUGIDIR) + $(CP) $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so + $(CP) $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup $(PLUGIDIR)/@/local/pcb/mod@.pup + +# module .c -> .o rules +@/local/comp/output@ + +### Module @/local/pcb/mod@ end ### +@] + +include /local/pcb/tmpasm/common_enabled