Commit Graph

476 Commits

Author SHA1 Message Date
Matthias Koefferlein 94908162d6 LEF/DEF suffixes can be configured
The way to specify them is through the following
environment variables:

$KLAYOUT_LEF_FORMAT - LEF suffixes (default: "*.lef *.LEF *.lef.gz *.LEF.gz")
$KLAYOUT_DEF_FORMAT - DEF suffixes (default: "*.def *.DEF *.def.gz *.DEF.gz")

The string is a space-separated list of simple
match pattern. Only "*.xyz"-style pattern are allowed
currently.
2026-03-20 16:48:35 +01:00
Matthias Koefferlein 2dfcc9293e Allowing to explicity specify a format
Most tools and functions now allow to explicitly
specify a format for input and output. On input,
the format is usually detected, but for some
cases, this is not possible (e.g. DEF). So you can
specify the format attached to the file name in
square brackets:

e.g. file.defok[def]

"def" is the intended suffix, "defok" is the given one.

On output, the same is possible, specifically in strmxor
and strmclip:

strmxor a.gds b.gds out.xor[oas]
2026-03-20 16:30:28 +01:00
Matthias Koefferlein de7ace9295 [consider merging] Bugfix: OASIS reader was not able to read S_GDS_PROPERTY from file level or under forward reference conditions 2026-02-24 19:17:14 +01:00
Matthias Koefferlein 9f92c4eaa4 [consider merging] Bugfix: 'oasis_read_all_options' as always on in buddy tools. 2026-02-24 19:17:05 +01:00
Matthias Koefferlein bc49082955 Fixing a small glitch: drawing into a ghost cell is possible, but did not turn off the ghost cell flag. Now the flag is still on, but a non-empty cell is not considered a ghost cell for most purposes. 2026-02-19 23:26:48 +01:00
Matthias Koefferlein 56fdbca1f5 Updating copyright to 2026 2026-02-07 17:12:53 +01:00
Matthias Koefferlein 65fd3f3e50 Providing a fix for issue #2267
1. The script API "map_file" attribute has been changed
   to accept and supply nil (for no file), a string (for
   a file, empty is equivalent to "no file") and a list
   for multiple files which are merged. The split at "+"
   or "," has been dropped.
2. The strm* tools option ("--lefdef-map") has been changed
   to allow multiple occurances instead of split at "+" or ",".
2026-02-05 23:21:04 +01:00
Matthias Koefferlein 5278b27683 Following up on a number of Magic reader issues found in the course of issue #2263
* The original issue ("sw" etc for "tri")
* Implementing "magscale"
* Interpolation of environment variables on paths
* Warnings include file positions now
* Ignoring "<< properties >>" pseudo-layer
* MAG writer uses zero-area boxes for empty ones
* New test
2026-01-25 19:30:08 +01:00
Kazunari Sekigawa 68ebbe4abc Fix compile errors on (macOS Sonoma) x (Qt5 MacPorts) 2025-11-14 18:42:58 +09:00
Matthias Koefferlein 7e25b6b986 Fixed LStream writer under the presence of iterated arrays 2025-11-11 23:35:08 +01:00
Matthias Koefferlein d8d53fb328 Merge remote-tracking branch 'origin/devel' 2025-11-09 21:14:39 +01:00
Matthias Koefferlein dd9b38a92f Refactoring of Python module build system, now based on configuration files mostly. 2025-11-09 17:46:25 +01:00
Matthias Koefferlein 9a65cd252c Don't use gcc options on MSVC 2025-11-09 13:51:05 +01:00
Matthias Koefferlein 8da655df43 Fixing DXF tests 2025-11-09 11:36:15 +01:00
Matthias Koefferlein bd6f62013e Importing latest version of LStream package, bug fixes (mag instances, layer were duplicated) 2025-11-09 11:30:00 +01:00
Matthias Koefferlein f2928e94a8 LStream writer options page, updated LStream sources, strm2lstr writer options 2025-11-09 10:17:58 +01:00
Matthias Koefferlein 93522bc134 Also renaming suffix of generated files to .cc 2025-11-08 16:12:31 +01:00
Matthias Koefferlein 47f4ca5224 Switching kj and capnp to static libs, maybe solves Windows build issues 2025-11-08 15:55:41 +01:00
Matthias Koefferlein da0558e7b4 Fixed two memory sanity issues found with valgrind 2025-11-08 14:04:07 +01:00
Matthias Koefferlein 448ebcc8c6 Trying to fix builds 2025-11-08 13:52:01 +01:00
Matthias Koefferlein 6aa66830e8 Trying to fix builds 2025-11-08 10:24:10 +01:00
Matthias Koefferlein 59ef8e7106 Trying to fix builds 2025-11-08 10:16:32 +01:00
Matthias Koefferlein f5f8e6edba Trying to fix builds 2025-11-08 10:12:59 +01:00
Matthias Koefferlein ce44efe9ad Trying to fix builds 2025-11-08 10:08:58 +01:00
Matthias Koefferlein 076ed98358 Trying to fix builds 2025-11-08 10:07:20 +01:00
Matthias Koefferlein ea086b8cbf Trying to fix builds 2025-11-08 10:03:19 +01:00
Matthias Koefferlein f375dd0907 Trying to fix builds 2025-11-08 10:00:36 +01:00
Matthias Koefferlein 5e823337b3 Trying to fix builds 2025-11-08 09:56:59 +01:00
Matthias Koefferlein e6ec9a54aa LStream bugfix integrated: points have not been written correctly 2025-11-08 01:23:06 +01:00
Matthias Koefferlein e8d5499598 WIP: LStream samples+test, OASIS writer
Current version of LStream code, samples and reader tests.
OASIS Writer: now writing points (to degenerated edges)
and edge pairs without asserting.
2025-11-08 00:35:18 +01:00
Matthias Koefferlein 115b6d5716 LStream: Establishing C++ 14 by default for building without Qt6 2025-11-07 23:15:43 +01:00
Matthias Koefferlein 642fe435cf Include a build script option to disable lstream 2025-11-07 01:02:40 +01:00
Matthias Koefferlein cc3bda51a5 Providing a script to sync sources 2025-11-07 00:46:59 +01:00
Matthias Koefferlein d2e5393d0c Integration of LStream sources 2025-11-07 00:44:08 +01:00
Matthias Koefferlein 937e557564 Implemented a fix for issue #2191 (LIBNAME not saved)
The fix consists of moving that options into the case-specific
options like DBU, instead of having it in the format-specific,
default writer options. So they can be specified on a per-case
basis and taken from the current layout by default.

Specifically:
* SaveLayoutOptions#gds2_libname is deprecated and replaced
  by SaveLayoutOptions#libname
* -ol (buddy tools) is no longer format specific
* The GDS writer takes SaveLayoutOptions#libname, and
  if empty, substitutes by the current libname. As last
  resort, "LIB" is used, because LIBNAME cannot be an
  empty string.
* The libname got removed from the global writer options UI
* In the "Save As" options dialog, it now is part of the global
  options and initialized with the current layout's libname.
2025-10-19 13:36:07 +02:00
Matthias Koefferlein 712237e67b Implemented solution for issue #2145 (default_text_size option for GDS2 writer) 2025-09-08 23:23:05 +02:00
Matthias Koefferlein 99462792bb Fixed a few build warnings. 2025-08-17 22:52:40 +02:00
Matthias Koefferlein 7ac32cec0b Removing debug code. 2025-08-05 20:58:07 +02:00
Matthias Koefferlein cb4511b721 Fixed a pending TODO from issue #1470 2025-07-21 20:56:32 +02:00
Matthias Koefferlein 9d4a578a5e Merge branch 'bugfix/issue-2088' 2025-07-19 19:00:33 +02:00
Matthias Köfferlein 131f36a4e0
Merge pull request #2084 from KLayout/feature/issue-2044
Feature/issue 2044
2025-07-19 18:57:10 +02:00
Matthias Köfferlein 316a58eca5
Merge pull request #2079 from KLayout/bugfix/issue-2075
Fixing issue #2075 (strm2oas ignores def net routing wire extensions)
2025-07-19 18:56:35 +02:00
Matthias Koefferlein d0b935d9e5 Fixed issue #2088 in reader and writer
Reader fix: the reader will not error out duplicate cell
names, but rename the cells.

Writer fix: the writer will uniquify cell names *after*
illegal character substitution.
2025-07-15 22:52:49 +02:00
Matthias Koefferlein 0ba6064507 Also supporting DBU check for PCB 2025-07-05 21:17:46 +02:00
Matthias Koefferlein 9e9344fdfa Introducing a check whether DBU is compatible with a given one in most readers (except PCB) 2025-07-05 21:13:19 +02:00
Matthias Koefferlein abeab280a3 [consider merging] fixed a crash happening while blending two OASIS files with ghost cells 2025-06-28 15:50:27 +02:00
Matthias Koefferlein 5a401127a2 Trying to fix MacOS and Windows builds 2025-06-28 15:31:46 +02:00
Matthias Koefferlein a42e639d83 Trying to fix builds on MacOS 2025-06-27 17:56:45 +02:00
Matthias Koefferlein 7acd11abac Added test 2025-06-27 17:37:19 +02:00
Matthias Koefferlein aba1b30c8d Fixing issue #2075 (strm2oas ignores def net routing wire extensions) 2025-06-27 01:04:19 +02:00