Commit Graph
2346 Commits
Author SHA1 Message Date
Darryl L. Miles 7ea1ea9441 txInput.c: comment #endif markers 2025-10-03 23:42:55 +01:00
Darryl L. Miles 03944ffe45 GHA: update canary-matrix.yml
Removes ubuntu-20.04 config (no longer available on GitHub CI)
added clang-19 and gcc-13
removed no_gc_gu, as all 'gl' (GL) options require 'gu' (GLU)
added build for --enable-readline-bundled
added X11+Cairo
2025-10-03 23:42:55 +01:00
Darryl L. Miles f69265bfa3 configure: autoconf regen (2.69) --enable-readline-bundled GR_SRCS 2025-10-03 23:42:55 +01:00
Darryl L. Miles bb51ae3deb graphics: minor change to Makefile and configure
This splits and groups DEPSRCS better so errors are not seen trying to
include files that are not present with no intention to build that
source file.
2025-10-03 23:42:55 +01:00
Darryl L. Miles ed7c18b873 readline: add configure --enable-readline-bundled option
Cleanup autoconf handling, should always work as expected.
Use of --enable-readline-bundled when readline is needed will use
copy in subdir.
2025-10-03 23:42:55 +01:00
Darryl L. Miles 478a02e216 SimRsim.c: removal of pre-POSIX.1-2001 select() interface ifdefs
POSIX.1-2001 introduced fd_set for use with select() and all current
systems support POSIX.
2025-10-03 23:42:55 +01:00
Darryl L. Miles 0285137ff1 SimRsim.c: EMSCRIPTEN fix for select/fd_set
The compiler has started to error on casting int* to fd_set*
Since WASM build has presense of fd_set then the ifdef have been
switched away from the legacy (pre 2000) method.
2025-10-03 23:42:55 +01:00
Darryl L. Miles 8987c890dc CmdFI.c: CmdGoto() correct printf output
non-tktcl build check
2025-10-03 23:42:55 +01:00
Darryl L. Miles b6ad9836c7 graphics: cleanup various warnings 2025-10-03 23:42:55 +01:00
Darryl L. Miles aa20f3d678 txInput.c: USE_READLINE constify rl_completion_function
There is a use case of fully .rodata data table of strings but also
a dynamic version built at runtime.
2025-10-03 23:42:55 +01:00
Darryl L. Miles 08456ad678 txInput.c: constify localvars
non-tktcl build check
2025-10-03 23:42:55 +01:00
Darryl L. Miles 3fd81c42b5 grOGL1.c: HashLookOnly() using X11 Window type a key on LLP64 needs cast 2025-10-03 23:42:55 +01:00
Darryl L. Miles b5687a9a73 parser.c: ParsSplit() constify (const char **remainder) 2025-10-03 23:42:55 +01:00
Darryl L. Miles 237699578f grX11su3.c: warning for ClientData compare
MAGIC_WRAPPER build option
2025-10-03 23:42:55 +01:00
Darryl L. Miles 446a931422 readline/Makefile: lib target (for no-tktcl build option) 2025-10-03 23:42:55 +01:00
Darryl L. Miles 341581d3f0 txOutput.c: $PAGER handling constify 2025-10-03 23:42:55 +01:00
Darryl L. Miles a9cb247153 txMain.c: readline needs function shim for prototype difference TxGetChar
USE_READLINE build option
2025-10-03 23:42:55 +01:00
Darryl L. Miles 2006d086e3 txMain.c: MAGIC_WRAPPER constify fix 2025-10-03 23:42:55 +01:00
Darryl L. Miles 673fd4e087 database: DBTypeLongNameTbl() constify data (const char*) 2025-10-03 23:42:55 +01:00
Darryl L. Miles 4de269763f database: DBTechAddPlane() constify API (const char*) 2025-10-03 23:42:55 +01:00
Darryl L. Miles e543075e50 database: DBTechInitPlane() consumer (DBPlaneLongNameTbl constify) 2025-10-03 23:42:55 +01:00
Darryl L. Miles eb72a3e6d2 database: DBPlaneShortName() return const char * 2025-10-03 23:42:55 +01:00
Darryl L. Miles 4d0f49d2a2 database: DBTypeShortName() return const char * 2025-10-03 23:42:55 +01:00
Darryl L. Miles b5d7fb080b EFread.c: ANSI prototype efReadDef() 2025-10-03 23:42:55 +01:00
Darryl L. Miles 18e3bcfbe8 EFbuild.c: ANSI prototype efBuildDevNode() 2025-10-03 23:42:55 +01:00
Darryl L. Miles dd8b5af5ad SimSelect.c: fix theoretical potential to write to .rodata string
We make a copy of readonly string on function entry and use that instead.
strrchr() is a bit of an annoying API, takes const char* but returns char*
but it is the same string.  One for static analysis or C++.

SimSelectArea() argument unused.
2025-10-03 23:42:55 +01:00
Darryl L. Miles 4d58789c69 extflat: ANSI prototype efBuildDevice() and constify (const Rect*) 2025-10-03 23:42:55 +01:00
Darryl L. Miles 7e586753df CmdRS.c: SimGetNodeCommand() returns (const char *) now 2025-10-03 23:42:55 +01:00
Darryl L. Miles 15be834bb1 CmdFindLabel: fix off-by-one error with: findlabel -glob name
Thanks @d-m-bailey Mitch Bailey for reporting
2025-10-03 23:42:55 +01:00
Darryl L. Miles 593468e13e commands: Various fixes for TxPrintf() with !MAGIC_WRAPPER
!MAGIC_WRAPPER build for WASM exposes
2025-10-03 23:42:55 +01:00
Darryl L. Miles 00a9da2ba7 plow: add ANSI prototypes plowMergeBottom() plowMergeTop()
This exposes the incorrect call sites, that are also fixed here.
2025-10-03 23:42:55 +01:00
Darryl L. Miles 0f012f3194 plotRutils.c: use #include <math.h> 2025-10-03 23:42:55 +01:00
Darryl L. Miles 09668bc462 SimSelect.c: constify (const char*) TLE.tl_nodeName TLE.tl_simLabel 2025-10-03 23:42:55 +01:00
Darryl L. Miles b30a5ccf4b magic.h: DLONG_PREFIX add other Linux 64bit ifdefs 2025-10-03 23:42:55 +01:00
Darryl L. Miles 0df4c5eabf GHA: .github/workflows/main-aarch64.yml 2025-10-03 21:05:33 +01:00
R. Timothy Edwards b1c7b52ed2 Modified "gds flatglob" to have the value "*_CDNS_*" by default,
since this is a common artifact of foundry cells and almost
always incompatible with magic.  Modified the "port" command to
allow "port make <index>" on a label where other labels of the
same text already have the same index.  Removed deprecated
documentation and added some missing documentation, such as an
explanation of the "ext2spice subcircuit auto" option.
8.3.554
2025-09-26 09:18:43 -04:00
R. Timothy Edwards 5de118b762 Corrected the greatest common factor routine that is run when
doing "save", which was missing checks on properties representing
coordinates (e.g., FIXED_BBOX) resulting in those values
potentially getting truncated by scaling the output to an
incompatible common factor.  Thanks to Sylvain Munaut for finding
the issue!
8.3.552
2025-09-17 12:20:13 -04:00
R. Timothy Edwards 00e3bbd12a Corrected the tech loader, which was failing to set the file
prefix when doing a reentrant load, causing include files to not
be found.  Fixed a divide-by-zero issue that occurs when some
tech file sections are not loaded to the abovementioned error.
8.3.551
2025-09-11 10:51:14 -04:00
R. Timothy Edwards 0022c502c8 Correction to dbReComputeBboxFunc() to fix a potential issue with
an uninitialized bounding box value.
8.3.550
2025-09-10 16:54:25 -04:00
R. Timothy Edwards 741216d6f3 Added a new command "archive" that works roughly like the "crash"
command, but with some critical differences, since the "crash"
command is designed for crash backups.  "crash" will save in a
temp file and removes the file after a successful recovery.
"archive" can be used at any time to make a complete snapshot of
a layout in a single file, or to read back that snapshot.
There is a "writeall" option that will make a snapshot including
layout of all read-only (PDK) cells.
2025-09-10 12:40:40 -04:00
R. Timothy Edwards 6195c20d3d Fixed an egregious error introduced by the "save <file>.tcl"
command handling in the previous commit, that can cause a crash
whenever "writeall" is called while a cell's filename is still
NULL.  Thanks to Daniel Estevez for reporting the error.
8.3.549
2025-09-08 09:22:14 -04:00
R. Timothy Edwards 59a1953f3c Modified the GDS read routine to give location information when
a self-intersecting or reversing path is seen in the input.
Added a new feature in which "save <cell>.tcl" will create a
file of magic commands that will re-create the cell when sourced
as a command file.
8.3.548
2025-09-05 17:51:46 -04:00
R. Timothy Edwards b1095b323c Added a command option for "select move" without specifying the
X and Y values, in which case the selection is moved to the
current pointer position.  This allows a different implementation
of the "copy" command as "select move; select keep", which avoids
the problem that "copy" has of modifying the selection with layer
interactions with the existing layout.
8.3.547
2025-08-27 09:57:22 -04:00
R. Timothy Edwards e9f2628f41 Reworked the "def read" command such that it creates a new CellDef
for the DEF file contents, and loads the cell into the layout
window when done.  That makes it consistent with other similar
functions such as "gds read".  Existing scripts which create (by
loading) a new cell before reading the DEF should not be affected
by the change.
8.3.546
2025-08-26 14:48:27 -04:00
R. Timothy Edwards e04307c085 Corrected an issue in computing the extended (includes area of
label text) vs. non-extended bounding box of a cell when doing
"getcell" (and probably a number of other commands/functions, as
well).  A function was always computing the extended bounding box
and then setting both the normal and extended bounding boxes of
the cell to this value, resulting in incorrect cell selections.
2025-08-26 11:00:20 -04:00
R. Timothy Edwards d2acdac901 Corrected an error accidentally introduced a few commits ago in
(commit 4084a6a246) in which a
misplaced close-brace altered the way that "getcell" handles
some orientation cases.  Thanks to Sylvain Munaut for discovering
the error.
8.3.545
2025-08-21 10:44:24 -04:00
R. Timothy Edwards 8d762b4f59 Corrected an error that accidentally misses an input line from a
LEF macro if the FOREIGN statement ends without the optional
coordinates.
8.3.544
2025-08-20 15:01:57 -04:00
R. Timothy Edwards 0301bdec9e Made a simple change to "extresist" to set the REDUNDANT flag on
nodes which are created due to having multiple ports with different
names on the same wire (electrically connected pins).  This prevents
"extresist" from double-counting the wire.
8.3.543
2025-08-19 10:00:05 -04:00
R. Timothy Edwards 4084a6a246 Modified the syntax of the "getcell" command to make the
arguments unambiguous, and to allow coordinates to be given in
any units.  To do this, the (seldom if ever used) passing of a
label as a reference point was changed to require the "label"
keyword before the label name, avoiding the code having to
disambiguate arguments from label text.  This now makes it
possible to specify the coordinates in microns, lambda, etc.,
units.
8.3.542
2025-08-15 10:24:31 -04:00
R. Timothy Edwards 117ca41b8a Corrected an error in the substrate generation for extraction, where
non-manhattan geometry was not being transformed into the parent
orientation.  This went unnoticed for some time due to testing on
PDKs where substrate and well were not allowed to have non-orthogonal
edges.
8.3.541
2025-08-14 08:51:36 -04:00