added xschem_library/generators directory for future schematic/symbol generator scripts. Handle empty XSCHEM_LIBRARY_PATH (use [pwd]).

This commit is contained in:
stefan schippers 2022-12-18 13:03:38 +01:00
parent 9c3a506ed5
commit 1a76f89464
8 changed files with 36 additions and 14 deletions

View File

@ -90,6 +90,7 @@ INSTRUCTIONS TO COMPILE XSCHEM IN VISUAL STUDIO 2022
C:/Program Files/XSchem/xschem_library/ngspice
C:/Program Files/XSchem/xschem_library/logic
C:/Program Files/XSchem/xschem_library/binto7seg
C:/Program Files/XSchem/xschem_library/generators
C:/Program Files/XSchem/xschem_library/pcb
C:/Program Files/XSchem/xschem_library/rom8k
@ -147,4 +148,4 @@ INSTRUCTIONS TO COMPILE CAIRO AND COMPILE XSCHEM WITH IT ON VISUAL STUDIO 2022
For Debug, x64
* Properties > VC++ Directories > Include: ;cairo_win\cairo\src;cairo_win\projects\cairo\src;
Libraries: ;cairo_win\projects\x64\Debug;cairo_win\libs;cairo_win\freetype\objs\x64\Debug Static
* Properties > Linker > Input > Additional Dependencies: Add ;cairo.lib;pixman.lib;zlibd.lib;libpngd.lib;freetype.lib;
* Properties > Linker > Input > Additional Dependencies: Add ;cairo.lib;pixman.lib;zlibd.lib;libpngd.lib;freetype.lib;

View File

@ -21,6 +21,7 @@
#### /home/schippes/share/doc/xschem/ngspice
#### /home/schippes/share/doc/xschem/logic
#### /home/schippes/share/doc/xschem/xschem_simulator
#### /home/schippes/share/doc/xschem/generators
#### /home/schippes/share/doc/xschem/binto7seg
#### /home/schippes/share/doc/xschem/pcb
#### /home/schippes/share/doc/xschem/rom8k
@ -33,6 +34,7 @@
#### ../xschem_library/ngspice
#### ../xschem_library/logic
#### ../xschem_library/xschem_simulator
#### ../xschem_library/generators
#### ../xschem_library/binto7seg
#### ../xschem_library/pcb
#### ../xschem_library/rom8k
@ -48,6 +50,7 @@
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/rom8k
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/logic
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/pcb
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/generators
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/binto7seg
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/symgen
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/xTAG
@ -65,6 +68,7 @@
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/rom8k"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/logic"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/pcb"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/generators"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/binto7seg"
###########################################################################
@ -398,4 +402,4 @@ set editor {notepad.exe}
#### This option will not include all windows drives in xschem paths
#### Instead, additional drives can be added using XSCHEM_LIBRARY_PATH
#### default: 1
# set add_all_windows_drives 0
# set add_all_windows_drives 0

View File

@ -138,6 +138,11 @@ int hook_postarg()
append("/local/xschem/xschem-lib-path", "/");
append("/local/xschem/xschem-lib-path", "share/doc/xschem/xschem_simulator");
append("/local/xschem/xschem-lib-path", ":");
append("/local/xschem/xschem-lib-path", get("/local/xschem/prefix"));
append("/local/xschem/xschem-lib-path", "/");
append("/local/xschem/xschem-lib-path", "share/doc/xschem/generators");
append("/local/xschem/xschem-lib-path", ":");
append("/local/xschem/xschem-lib-path", get("/local/xschem/prefix"));
append("/local/xschem/xschem-lib-path", "/");

View File

@ -2192,6 +2192,7 @@ void load_schematic(int load_symbols, const char *fname, int reset_undo) /* 2015
my_strncpy(xctx->current_name, rel_sym_path(filename), S(xctx->current_name));
/* local file specified and not coming from web url */
} else {
/* if name is /some/path/. remove /. at end */
my_snprintf(msg, S(msg), "regsub {/\\.$} [get_directory {%s}] {}", filename);
my_strncpy(xctx->current_dirname, tcleval(msg), S(xctx->current_dirname));
/* local file name */
@ -2199,7 +2200,6 @@ void load_schematic(int load_symbols, const char *fname, int reset_undo) /* 2015
/* local relative reference */
my_strncpy(xctx->current_name, rel_sym_path(filename), S(xctx->current_name));
}
/* if name is /some/path/. remove /. at end */
dbg(1, "load_schematic(): opening file for loading:%s, filename=%s\n", name, filename);
dbg(1, "load_schematic(): sch[currsch]=%s\n", xctx->sch[xctx->currsch]);
if(!name[0]) return;

View File

@ -1976,6 +1976,9 @@ int Tcl_AppInit(Tcl_Interp *inter)
my_snprintf(tmp, S(tmp),
"append XSCHEM_LIBRARY_PATH : [file dirname \"%s\"]/xschem_library/xschem_simulator", pwd_dir);
tcleval(tmp);
my_snprintf(tmp, S(tmp),
"append XSCHEM_LIBRARY_PATH : [file dirname \"%s\"]/xschem_library/generators", pwd_dir);
tcleval(tmp);
my_snprintf(tmp, S(tmp),
"append XSCHEM_LIBRARY_PATH : [file dirname \"%s\"]/xschem_library/binto7seg", pwd_dir);
tcleval(tmp);
@ -1993,15 +1996,16 @@ int Tcl_AppInit(Tcl_Interp *inter)
char *up_hier=NULL, *win_xschem_library_path=NULL;
#define WIN_XSCHEM_LIBRARY_PATH_NUM 9
const char *WIN_XSCHEM_LIBRARY_PATH[WIN_XSCHEM_LIBRARY_PATH_NUM] = {
/*1*/ "xschem_library",
/*2*/ "xschem_library/devices",
/*3*/ "xschem_library/examples",
/*4*/ "xschem_library/ngspice",
/*5*/ "xschem_library/logic",
/*6*/ "xschem_library/xschem_simulator",
/*7*/ "xschem_library/binto7seg",
/*8*/ "xschem_library/pcb",
/*9*/ "xschem_library/rom8k" };
/*1*/ "xschem_library",
/*2*/ "xschem_library/devices",
/*3*/ "xschem_library/examples",
/*4*/ "xschem_library/ngspice",
/*5*/ "xschem_library/logic",
/*6*/ "xschem_library/xschem_simulator",
/*7*/ "xschem_library/generators",
/*8*/ "xschem_library/binto7seg",
/*9*/ "xschem_library/pcb",
/*10*/ "xschem_library/rom8k" };
GetModuleFileNameA(NULL, install_dir, MAX_PATH);
change_to_unix_fn(install_dir);
size_t dir_len=strlen(install_dir);

View File

@ -6149,8 +6149,9 @@ proc set_paths {} {
lappend pathlist $i
}
}
set myload_files1 $pathlist
}
if {$pathlist eq {}} { set pathlist [pwd] }
set myload_files1 $pathlist
# set INITIALLOADDIR INITIALINSTDIR INITIALPROPDIR as initial locations in load file dialog box
set_initial_dirs
}

View File

@ -21,6 +21,7 @@
#### /home/schippes/share/doc/xschem/ngspice
#### /home/schippes/share/doc/xschem/logic
#### /home/schippes/share/doc/xschem/xschem_simulator
#### /home/schippes/share/doc/xschem/generators
#### /home/schippes/share/doc/xschem/binto7seg
#### /home/schippes/share/doc/xschem/pcb
#### /home/schippes/share/doc/xschem/rom8k
@ -33,6 +34,7 @@
#### ../xschem_library/ngspice
#### ../xschem_library/logic
#### ../xschem_library/xschem_simulator
#### ../xschem_library/generators
#### ../xschem_library/binto7seg
#### ../xschem_library/pcb
#### ../xschem_library/rom8k
@ -48,6 +50,7 @@
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/rom8k
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/logic
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/pcb
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/generators
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/binto7seg
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/symgen
# append XSCHEM_LIBRARY_PATH :${xschem_doc_dir}/xTAG
@ -64,6 +67,7 @@
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/rom8k"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/logic"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/pcb"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/generators"
# append XSCHEM_LIBRARY_PATH ";${XSCHEM_SHAREDIR}/../xschem_library/binto7seg"
###########################################################################

View File

@ -8,6 +8,7 @@ install: FORCE
$(SCCBOX) mkdir -p "$(system_library_dir)" "$(XDOCDIR)"/examples "$(XDOCDIR)"/pcb
$(SCCBOX) mkdir -p "$(XDOCDIR)"/logic "$(XDOCDIR)"/xTAG "$(XDOCDIR)"/binto7seg
$(SCCBOX) mkdir -p "$(XDOCDIR)"/symgen "$(XDOCDIR)"/ngspice "$(XDOCDIR)"/rulz-r8c33
$(SCCBOX) mkdir -p "$(XDOCDIR)"/generators
$(SCCBOX) mkdir -p "$(XDOCDIR)"/rom8k "$(XDOCDIR)"/gschem_import/sym
$(SCCBOX) install -f -d devices/*.sym "$(system_library_dir)"
$(SCCBOX) install -f -d devices/*.sch "$(system_library_dir)"
@ -16,6 +17,7 @@ install: FORCE
$(SCCBOX) install -f -d examples/stimuli.* "$(XDOCDIR)"/examples
$(SCCBOX) install -f -d binto7seg/*.sym "$(XDOCDIR)"/binto7seg
$(SCCBOX) install -f -d binto7seg/*.sch "$(XDOCDIR)"/binto7seg
$(SCCBOX) install -f -d generators/*.* "$(XDOCDIR)"/generators
$(SCCBOX) install -f -d xTAG/*.sym* "$(XDOCDIR)"/xTAG
$(SCCBOX) install -f -d xTAG/*.sch "$(XDOCDIR)"/xTAG
$(SCCBOX) install -f -d logic/*.sym "$(XDOCDIR)"/logic
@ -41,7 +43,8 @@ install: FORCE
uninstall: FORCE
$(SCCBOX) rm -f "$(system_library_dir)"/* "$(XDOCDIR)"/examples/* "$(XDOCDIR)"/pcb/* \
"$(XDOCDIR)"/ngspice/* "$(XDOCDIR)"/symgen/* "$(XDOCDIR)"/logic/* "$(XDOCDIR)"/xTAG/* \
"$(XDOCDIR)"/rom8k/* "$(XDOCDIR)"/xschem_simulator/ "$(XDOCDIR)"/binto7seg/* "$(XDOCDIR)"/rulz-r8c33/* \
"$(XDOCDIR)"/rom8k/* "$(XDOCDIR)"/xschem_simulator/ "$(XDOCDIR)"/binto7seg/* \
"$(XDOCDIR)"/rulz-r8c33/* "$(XDOCDIR)"/generators/* \
"$(XDOCDIR)"/gschem_import/*.sym \
"$(XDOCDIR)"/gschem_import/*.sch \
"$(XDOCDIR)"/gschem_import/sym/*.sym \