Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 8167) +++ trunk/scconfig/Rev.h (revision 8168) @@ -1 +1 @@ -static const int myrev = 8150; +static const int myrev = 8168; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 8167) +++ trunk/scconfig/Rev.tab (revision 8168) @@ -1,3 +1,4 @@ +8168 configure lib_target: support plugin to get some attributes put in the tEDAx netlist 8150 configure bom export plugin 8124 configure sch_dialogs: stance dialog 8078 configure std_forge: conditional scripts Index: trunk/scconfig/plugins.h =================================================================== --- trunk/scconfig/plugins.h (revision 8167) +++ trunk/scconfig/plugins.h (revision 8168) @@ -41,6 +41,7 @@ plugin_def("export_svg", "export sheets to svg", sbuildin, 1) plugin_def("export_tedax", "export tEDAx netlist", sbuildin, 1) plugin_def("lib_netlist_exp", "netlist export helper", sbuildin, 1) +plugin_def("lib_target", "target plugin helper", sbuildin, 1) plugin_header("\nIO plugins (file formats):\n") plugin_def("io_altium", "altium schematics", sbuildin, 1) @@ -75,3 +76,4 @@ plugin_dep("lib_plot", "query") plugin_dep("sch_dialogs", "lib_hid_common") plugin_dep("sim_gui", "lib_plot") +plugin_dep("target_pcb", "lib_target") Index: trunk/src/plugins/lib_target/Makefile =================================================================== --- trunk/src/plugins/lib_target/Makefile (nonexistent) +++ trunk/src/plugins/lib_target/Makefile (revision 8168) @@ -0,0 +1,2 @@ +all: + cd ../../sch-rnd && make mod_lib_target Index: trunk/src/plugins/lib_target/Plug.tmpasm =================================================================== --- trunk/src/plugins/lib_target/Plug.tmpasm (nonexistent) +++ trunk/src/plugins/lib_target/Plug.tmpasm (revision 8168) @@ -0,0 +1,10 @@ +put /local/rnd/mod {lib_target} +put /local/rnd/mod/OBJS [@ + $(PLUGDIR)/lib_target/lib_target.o +@] + +switch /local/module/lib_target/controls + case {buildin} include /local/csch/tmpasm/buildin; end; + case {plugin} include /local/csch/tmpasm/plugin; end; + case {disable} include /local/csch/tmpasm/disable; end; +end Index: trunk/src/plugins/lib_target/lib_target.c =================================================================== --- trunk/src/plugins/lib_target/lib_target.c (nonexistent) +++ trunk/src/plugins/lib_target/lib_target.c (revision 8168) @@ -0,0 +1,70 @@ +/* + * COPYRIGHT + * + * cschem - modular/flexible schematics editor - netlist export helpers + * Copyright (C) 2023 Tibor 'Igor2' Palinkas + * + * (Supported by NLnet NGI0 Entrust in 2023) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Contact: + * Project page: http://repo.hu/projects/sch-rnd + * contact lead developer: http://www.repo.hu/projects/sch-rnd/contact.html + * mailing list: http://www.repo.hu/projects/sch-rnd/contact.html + */ + +/* Maintain a cache of parsed comp/net/conn objects and compile abstract + model from them */ + +#include + +#include +#include +#include + +#include "lib_target.h" + +void sch_trgt_ctx_init(sch_trgt_ctx_t *ctx, rnd_conf_native_t *whitelist, rnd_conf_native_t *black, const char *flow_prefix, const char *sw_prefix) +{ + +} + +void sch_trgt_export_attrs(sch_trgt_ctx_t *ctx, csch_ahdr_t *obj) +{ + +} + +void sch_trgt_ctx_uninit(sch_trgt_ctx_t *ctx) +{ + +} + + +/*** plugin ***/ + +int pplg_check_ver_lib_target(int ver_needed) { return 0; } + +void pplg_uninit_lib_target(void) +{ +} + +int pplg_init_lib_target(void) +{ + RND_API_CHK_VER; + + return 0; +} + Index: trunk/src/plugins/lib_target/lib_target.h =================================================================== --- trunk/src/plugins/lib_target/lib_target.h (nonexistent) +++ trunk/src/plugins/lib_target/lib_target.h (revision 8168) @@ -0,0 +1,12 @@ +#include +#include + +typedef struct sch_trgt_ctx_s { + htsp_t white, black; + const char *flow_prefix, *sw_prefix; +} sch_trgt_ctx_t; + +void sch_trgt_ctx_init(sch_trgt_ctx_t *ctx, rnd_conf_native_t *whitelist, rnd_conf_native_t *black, const char *flow_prefix, const char *sw_prefix); +void sch_trgt_export_attrs(sch_trgt_ctx_t *ctx, csch_ahdr_t *obj); +void sch_trgt_ctx_uninit(sch_trgt_ctx_t *ctx); + Index: trunk/src/plugins/lib_target/lib_target.pup =================================================================== --- trunk/src/plugins/lib_target/lib_target.pup (nonexistent) +++ trunk/src/plugins/lib_target/lib_target.pup (revision 8168) @@ -0,0 +1,7 @@ +$class export +$short target plugin helper +$long Helper functions for implementing target plugins +$state works +$package (core) +default buildin +autoload 1 Index: trunk/src/plugins/plugins_ALL.tmpasm =================================================================== --- trunk/src/plugins/plugins_ALL.tmpasm (revision 8167) +++ trunk/src/plugins/plugins_ALL.tmpasm (revision 8168) @@ -23,6 +23,7 @@ include {../src/plugins/lib_netlist_exp/Plug.tmpasm} include {../src/plugins/lib_ngrp/Plug.tmpasm} include {../src/plugins/lib_plot/Plug.tmpasm} +include {../src/plugins/lib_target/Plug.tmpasm} include {../src/plugins/place/Plug.tmpasm} include {../src/plugins/propedit/Plug.tmpasm} include {../src/plugins/query/Plug.tmpasm} Index: trunk/src/plugins/target_pcb/target_pcb.pup =================================================================== --- trunk/src/plugins/target_pcb/target_pcb.pup (revision 8167) +++ trunk/src/plugins/target_pcb/target_pcb.pup (revision 8168) @@ -4,4 +4,5 @@ $state works $package (core) default buildin +dep lib_target autoload 1 Index: trunk/src/sch-rnd/Makefile.dep =================================================================== --- trunk/src/sch-rnd/Makefile.dep (revision 8167) +++ trunk/src/sch-rnd/Makefile.dep (revision 8168) @@ -109,7 +109,9 @@ ../libcschem/abstract.h ../libcschem/TODO.h ../libcschem/util_export.h \ ../libcschem/project.h ../libcschem/engine.h \ ../plugins/export_bom/bom_conf.h ../plugins/export_bom/conf_internal.c \ + ../../src_3rd/rnd_inclib/lib_bom/lib_bom.h \ ../plugins/export_bom/hid_impl.c ../sch-rnd/export.h ../sch-rnd/draw.h \ + ../../src_3rd/rnd_inclib/lib_bom/lib_bom.c \ ../plugins/export_bom/bom_conf_fields.h ../plugins/export_lpr/lpr.o: ../plugins/export_lpr/lpr.c \ ../libcschem/config.h ../plugins/export_lpr/../export_ps/export_ps.h @@ -456,6 +458,10 @@ ../plugins/lib_plot/plot_data.h ../plugins/lib_plot/plot_preview.o: ../plugins/lib_plot/plot_preview.c \ ../plugins/lib_plot/plot_preview.h ../plugins/lib_plot/plot_data.h +../plugins/lib_target/lib_target.o: ../plugins/lib_target/lib_target.c \ + ../libcschem/config.h ../plugins/lib_target/lib_target.h \ + ../libcschem/abstract.h ../libcschem/common_types.h \ + ../libcschem/attrib.h ../libcschem/TODO.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 \