Commit Graph

568 Commits

Author SHA1 Message Date
Matthias Koefferlein 2b4a583f05 Update copyright year 2024-01-01 17:27:59 +01:00
Matthias Koefferlein 36f531685c Fixed a test fail when private test data is not available 2023-12-29 23:18:07 +01:00
Matthias Koefferlein f685fe3adf WIP: keyword arguments for expressions 2023-12-28 01:03:21 +01:00
Matthias Koefferlein 4a4db5ea6e [consider merging] Avoids a segfault
This happens when an expression returns a class
object and that is converted to a string.
2023-12-28 00:55:14 +01:00
Matthias Koefferlein d1695b88af Merge branch 'wip' 2023-12-23 18:05:54 +01:00
Matthias Köfferlein 3550d81c6f
Merge pull request #1555 from KLayout/issue-1531
Fixed issue #1531 (DEF format not recognized in symlink): use origina…
2023-12-08 07:26:07 +01:00
Matthias Koefferlein 787114fee2 Trying to fix CentOS 7 builds (segfault because of late initialization of Mutex) 2023-12-07 21:28:07 +01:00
Matthias Koefferlein 293074c2af Enhanced API for environment variable handling 2023-12-07 19:32:19 +01:00
Matthias Koefferlein ce77909c3f Include proxy in Git configuration
Follows the suggestion from there: https://www.klayout.de/forum/discussion/2404.
Using $KLAYOUT_GIT_HTTP_PROXY so it does not interfere with curl.
2023-12-05 21:33:19 +01:00
Matthias Koefferlein caf54bd77b Fixed issue #1531 (DEF format not recognized in symlink): use original path to determine format 2023-12-02 22:10:31 +01:00
Matthias Koefferlein b7d1d22fb2 Fixed Windows builds, enhanced unit test framework with error messages upon exceptions. 2023-11-26 17:04:44 +01:00
Matthias Koefferlein cb1589b2ba Ported upgrade to expressions too 2023-11-26 16:19:09 +01:00
Matthias Koefferlein 284182cf3a Compatibility with libgit <0.28.0 2023-11-12 22:57:40 +01:00
Matthias Koefferlein 80241ae7c2 Compatibility with libgit <0.28.0 2023-11-12 22:31:39 +01:00
Matthias Koefferlein 6d55f6bc7d Trying to improve curl implementation by providing a seek implementation 2023-11-12 22:01:45 +01:00
Matthias Koefferlein bcec400e09 Fixed a crash with -without-qt: Python appears to need a non-empty application path upon initialization 2023-11-11 10:47:39 +01:00
klayoutmatthias 9161d18711 Allowing tl::rm_file to remove files even if write protected 2023-11-09 21:42:07 +01:00
Matthias Koefferlein 4cda860090 Compatibility with older libgit2 versions 2023-11-09 20:14:28 +01:00
Matthias Koefferlein e4823a8343 Trying to fix an issue on windows with recursive file remove 2023-11-09 19:26:02 +01:00
Matthias Koefferlein 4e00a91e91 Debugging git package download 2023-11-05 23:04:48 +01:00
Matthias Koefferlein 08a790d7f7 Proper handling of credential requests in Git client 2023-11-05 22:27:54 +01:00
Matthias Koefferlein 9d589b38f5 Different approach to exclude libgit2 for pymod 2023-11-01 23:41:28 +01:00
Matthias Koefferlein a6a958838d Trying to fix file utils unit test on Windows - cannot remove file when still open? 2023-11-01 21:16:18 +01:00
Matthias Koefferlein 2d2b0f34b3 Maybe fixing Windows implementation 2023-11-01 19:07:04 +01:00
Matthias Koefferlein 0474884a87 Fixed Windows builds 2023-11-01 18:23:15 +01:00
Matthias Koefferlein b78f01387f Generalization of temporary file and directory creation 2023-11-01 18:18:26 +01:00
Matthias Koefferlein 82a0ef7791 First git-enabled package manager dialog 2023-10-31 22:05:29 +01:00
Matthias Koefferlein 9b969c25be Enabling progress for Git checkout 2023-10-29 22:22:53 +01:00
Matthias Koefferlein a4df1eb10f Some bug fixing 2023-10-29 21:44:31 +01:00
Matthias Koefferlein 6dec3b0348 Using parsed URLs for packages 2023-10-29 16:04:12 +01:00
Matthias Koefferlein 2ed44e27ad Git support: default checkout strategy to 'force' to support older versions of libgit2 2023-10-28 23:49:50 +02:00
Matthias Koefferlein ba19b3374a Fixed build issue with old versions of libgit2 2023-10-28 21:54:56 +02:00
Matthias Koefferlein 2e16a1e3e4 Refined solution for git clone: now accepts tags too. 2023-10-28 21:37:58 +02:00
Matthias Koefferlein 2a41b13efd Compatibility with old libgit2 2023-10-25 23:08:20 +02:00
Matthias Koefferlein 73460016c0 Compatibility with old libgit2 2023-10-25 23:03:18 +02:00
Matthias Koefferlein 17fd5e9238 Basic Git client implemented. 2023-10-25 21:57:48 +02:00
Matthias Koefferlein 40bdd63ee4 First integration of libgit2 2023-10-25 00:15:52 +02:00
Matthias Koefferlein 261d0249e8 Merge branch 'wip' 2023-10-19 21:23:07 +02:00
Matthias Koefferlein 12f9ad33f4 Some enhancements to package manager
- So not update macros while installing: avoids
  transient error messages
- Offer to autorun macros also after package
  update (so far only on package new installation)
2023-09-05 00:35:49 +02:00
Matthias Koefferlein 1e3e918b90 Debugging. 2023-08-17 01:05:15 +02:00
Matthias Koefferlein 2acedfde6f Fixed some compiler warnings 2023-08-16 22:20:25 +02:00
Matthias Koefferlein 7d07aeb9fa Enhancing unit test framework by LE/LT/GE/GT test functions 2023-08-16 22:17:52 +02:00
Matthias Koefferlein 254015617d Merge branch 'wip' into wip2 2023-08-11 19:17:01 +02:00
Matthias Koefferlein 476c7156ab Merge branch 'master' into wip2 2023-08-01 21:48:00 +02:00
Matthias Koefferlein 7ac51337ca Script errors now include the class for better readability in Python, normalizing errors in Python 2023-07-28 21:28:09 +02:00
Matthias Koefferlein 8840a7ac54 Fixed #1428 (allow XML include files in macros) 2023-07-24 23:25:35 +02:00
Matthias Koefferlein e965f87f58 Merge branch 'master' into wip 2023-07-15 22:48:53 +02:00
Matthias Koefferlein 563f1026e8 Bugfix: tilde expansion wasn't working on layout write 2023-07-15 13:37:07 +02:00
Matthias Koefferlein e8048d6686 WIP: preparations - introducing TextInfo 2023-05-07 19:51:15 +02:00
Matthias Koefferlein d531418ad2 Layout statistics form - caching, refactoring, printing statistics for 'all' shapes 2023-05-05 23:20:03 +02:00
Matthias Koefferlein 317617a14a Fixed unit tests for Windows 2023-04-08 09:08:31 +02:00
Matthias Koefferlein 015263fb0e Trying to fix unit test fails 2023-04-07 17:34:23 +02:00
Matthias Koefferlein 0802bc845d Extended unit test 2023-04-07 10:07:26 +02:00
Matthias Koefferlein 19fbc5c144 Implemented tilde expansion, internal stream path names are now absolute, fixed tests 2023-04-07 00:19:10 +02:00
Matthias Koefferlein 0fd052baa6 Simplify pymod test for better CI integration 2023-04-01 09:13:32 +02:00
Matthias Koefferlein 7d41078e8c Avoid a segfault: an event may kill the event object itself indirectly. 2023-03-26 21:29:06 +02:00
Matthias Koefferlein f5fd47bd4b Fixed standalone Python module builds 2023-03-12 00:53:42 +01:00
Matthias Koefferlein 0204f293b5 Generic environment set/clear functions, file function to get app exe path 2023-03-08 00:52:42 +01:00
Matthias Koefferlein d20e4b2128 Bug fixes, adjusted test data 2023-02-22 15:54:28 +01:00
Matthias Koefferlein b421f1e499 WIP: added tests for variant fuzzy compare 2023-02-21 16:05:45 +01:00
Matthias Koefferlein e709218db9 WIP: fuzzy compare for tl::Variant with float values 2023-02-21 15:57:54 +01:00
Matthias Koefferlein 8677b38d69 Merge branch 'master' into wip 2023-01-01 22:28:14 +01:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein 2cd932627c Fixed some memory leaks 2022-12-27 23:45:43 +01:00
Ethan Mahintorabi 0a03a2809a
Fixes segfault on some linux systems
The static order initialization seems to be more present throughout
Klayout and might cause additional issues, but this fix stopped the
segfault on my machine. When compiling with asan there are a number
or other issues that could be addressed, but it's not clear if they're
real problems.

dbLayout change occured when using the python API to read a DEF layout.
When the layout is updated the code uses a const iterator which
implicitly wraps the non-const iterator. In the loop the end() is
implicitly wrapped, which tries to dereference a nullptr. My fix
checks to ensure that the non-const iterator is not null before trying
blindly dereference it.
2022-12-12 19:03:59 +00:00
Matthias Koefferlein 4281cde169 (maybe) fix builds for Qt without SSL 2022-12-06 22:40:41 +01:00
Matthias Koefferlein 2601f870ec Fixed compile errors 2022-12-05 07:39:03 +01:00
Matthias Koefferlein 035232c978 Providing single-linked list implementation with fast size to address DRC merge performance issue on CentOS 2022-12-05 02:22:08 +01:00
Matthias Koefferlein f17719b43c Fixed builds for MSVC 2017 python module builds with setuptools. 2022-11-11 00:32:03 +01:00
Matthias Koefferlein 1edbd6232f Merge branch 'python-typehints' 2022-11-09 23:13:31 +01:00
Matthias Koefferlein cd3ca9e536 Do not use zstd compression for Qt6 as there is no built-in decompression 2022-11-06 01:23:39 +01:00
Matthias Koefferlein c012bb846e Cherry-picked Python type hint enhancements from master 2022-10-19 22:13:03 +02:00
Matthias Koefferlein 1bff5c1ac3 WIP: layer icons now follow oversampling and high-resolution mode, new GSI method to fetch layer icon: LayoutView#icon_for_layer 2022-10-01 19:20:06 +02:00
Matthias Koefferlein b8263d2529 Fixed #1159 (valgrind error) 2022-09-22 21:17:51 +02:00
Zopolis4 8f940c1679
Restrict overmatching MACH ifdef to only trigger on OSX and Mach 2022-09-21 16:52:25 +10:00
Matthias Köfferlein 390cac87d3
Issue 1097 (#1148)
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.

* Implemented #1097 (discourage file compression, use CBLOCK)

* A warning is printed if file compression is enabled on OASIS
* A hint is present in the writer options
* CBLOCK is default (with fresh config) and for buddy tools
  (use --cblock=false to disable it)

* Strict mode is default too.

* Updated tests
2022-09-05 23:34:53 +02:00
Matthias Koefferlein 728d60a510 More generic 'join' function for string sequences 2022-08-27 22:27:59 +02:00
Matthias Koefferlein 9ee5730b60 WIP: small patch avoiding generation of freaky files with fake-windows paths on Linux 2022-08-16 22:15:21 +02:00
Matthias Koefferlein 21b14706dd data: URLs for abstract paths 2022-08-15 16:58:44 +02:00
Matthias Koefferlein 9d36b3c71a Merge branch 'master' into wip 2022-08-06 18:52:41 +02:00
Matthias Koefferlein 43101ded7f More consistent handling of exceptions and their display in the Ruby debugger - without triggering too many breakpoints on rethrow and showing the reason for exceptions arising from argument errors 2022-07-30 19:28:14 +02:00
Matthias Koefferlein 590c4a6b31 Argument numbers/names for Ruby too 2022-07-30 01:32:27 +02:00
Matthias Koefferlein 82fe920ac9 Merge branch 'wip' 2022-07-29 22:31:42 +02:00
klayoutmatthias 167bcbcc5f Enabling MSVC debug builds with iterator debugging on 2022-07-25 21:06:56 +02:00
Matthias Koefferlein 17f8a92a66 Fixed a memory corruption problem 2022-07-20 00:04:08 +02:00
Matthias Koefferlein 7999468bb9 Issue #1122 - avoid error messages which are confusing. 2022-07-18 00:18:10 +02:00
Matthias Koefferlein 24e8db996c Avoid a segfault on exit 2022-07-18 00:16:56 +02:00
Matthias Köfferlein 6ba372f1a9
Issue 1114 (#1121)
* Two patches to enable building on MSYS with gcc 12.1

1. Complete explicit instantiations in dbHierProcessor
2. Strict weak ordering is not present for std::type_info
   (using "before" on gcc 12.1). We need to work with plain
   pointers and use a translation table to associate pointers
   with classes.

* Fixed another place where std::type_info got important

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2022-07-17 19:59:49 +02:00
Matthias Koefferlein 555d32f280 Bugfix: net color was not properly set in net tracer 2022-06-18 16:58:55 +02:00
Matthias Koefferlein b95027a21b Refactoring: lay::PixelBuffer, BitmapBuffer -> tl, added image functions to RdbItem in GSI 2022-05-31 00:20:47 +02:00
Matthias Koefferlein 62bbef53ac Refactoring: layColor -> tlColor 2022-05-30 23:21:32 +02:00
Matthias Koefferlein 84cf60dbb7 Preparations for rdb image API: base64 encoder and decoder without Qt 2022-05-29 21:50:23 +02:00
Matthias Koefferlein baa92d4455 Fixed non-Qt thread-local storage implementation: needs to reuse holder object when using 'setLocalData' 2022-05-29 19:33:30 +02:00
Matthias Koefferlein 29b3718b2d Further reducing dependency on Qt, fixed tests 2022-05-29 10:11:16 +02:00
Matthias Koefferlein 8e21dab345 Reworked lym::MacroCollection for not using Qt (too much) 2022-05-28 21:21:58 +02:00
Matthias Koefferlein 89547a6fde Enabling non-qt resources in InputStream 2022-05-28 01:37:59 +02:00
Matthias Koefferlein ca3d840cb2 Alternative implementation for resources for the non-Qt case. 2022-05-28 00:33:08 +02:00
Matthias Koefferlein 001d695fcc Build fix for non-Qt case 2022-05-27 18:41:01 +02:00
Matthias Koefferlein 5eacb67368 Provide deferred execution also for the non-Qt case 2022-05-27 17:55:27 +02:00
Matthias Koefferlein 29e481dd52 Fixed a compiler warning 2022-05-27 16:48:29 +02:00
Matthias Koefferlein 51666eb439 Fixed non-Qt build 2022-05-05 23:44:47 +02:00
Matthias Koefferlein 17cbcc2877 Added mono image class 2022-05-04 02:18:01 +02:00
Matthias Koefferlein 373f307ae6 WIP: image object, first steps 2022-05-02 00:26:13 +02:00
Matthias Koefferlein 0b48cb9020 WIP: added new lay::Image class 2022-05-02 00:02:47 +02:00
Matthias Koefferlein 1b129758d8 More range for NoQt option - covers lym (without MacroCollection), drc, lvs and buddies now 2022-04-24 23:28:04 +02:00
Matthias Koefferlein 981db08dea More automatic conversion of int to enum and vice versa + automatic object-to-variant conversion when supplying to_int, to_double or to_variant functions. Discussion 2052. 2022-04-04 01:09:19 +02:00
Matthias Koefferlein 6d0aa9c435 Maybe fixed build issue on MacOS 2022-03-16 21:11:25 +01:00
Matthias Köfferlein a4b663199d
Fixed issue-1012 with some enhancements (#1016)
- warning if a layer is not mapped
- "," allowed as separator between files on buddy tools (in addition to '+')
- relative paths are resolved relative to . in buddy tools (more natural on Linux)
- Fixed tl::warn and tl::error so warnings/error messages can be continued with tl::noendl.
2022-03-05 14:57:09 +01:00
Matthias Koefferlein 4a8918364b Patch for issue-973 fix to make it work with libcurl 2022-02-12 22:16:14 +01:00
Matthias Köfferlein 0005c5d742
Fixed #971 (double compare fails in LVS) (#1001) 2022-02-12 17:04:47 +01:00
Matthias Köfferlein c80f789e5a
Fixed issue-973 (timeout in Salt Manager) (#981)
The implementation now offers "infinite timeout" with
the option to abort download.
2022-02-08 19:05:53 +01:00
Matthias Köfferlein 71c9073bc5
Fixed issue-979 (backup file fails with relative paths) (#980) 2022-02-08 19:05:00 +01:00
Matthias Koefferlein 12fd26663d Merge branch 'qt6' 2022-01-06 21:48:02 +01:00
Matthias Koefferlein 10456516db Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) 2022-01-04 21:20:04 +01:00
Matthias Koefferlein 219fbceb28 Fixed the fix. 2021-12-17 08:18:35 +01:00
Matthias Koefferlein e1df15a47f Fixed Windows tests 2021-12-16 22:51:20 +01:00
Matthias Köfferlein f60a5de325
Merge pull request #948 from KLayout/less-expressions
Less expression evaluation for more robustness
2021-12-16 07:56:21 +01:00
Matthias Koefferlein a6d4c80c6c Less expression evaluation for more robustness 2021-12-16 00:23:06 +01:00
Matthias Koefferlein 533a72b7bd Added tests, fixed implementation 2021-12-15 23:18:42 +01:00
Matthias Koefferlein 07515cd716 Fixed issue #946 for the case of file paths with blanks 2021-12-15 23:04:58 +01:00
Matthias Koefferlein 279342e61a Added more declarations for gcc in release mode 2021-12-12 16:48:44 +01:00
klayoutmatthias 0c142c9252 gcc 4.x (CentOS 7) does not support all C++11 type traits 2021-12-11 18:56:44 +00:00
Matthias Koefferlein 3bb46e2717 Qt5 builds functional again, enabled QLatin1String for Qt5 and Qt4 too. 2021-12-05 13:38:08 +01:00
Matthias Koefferlein 302a5fccd0 Build fixes 2021-12-05 00:27:41 +01:00
Matthias Koefferlein 6aae46772c WIP: typo bug fixed. 2021-12-04 22:46:59 +01:00
Matthias Koefferlein 125543957d WIP: Fixed GSI to some extent, some tests 2021-12-04 00:31:01 +01:00
Matthias Koefferlein a17f89201f Updated Qt binding generation scripts and build fixes 2021-11-30 23:12:12 +01:00
Matthias Koefferlein 6b49386b67 WIP: fixed some build errors 2021-11-29 23:27:26 +01:00
Matthias Koefferlein 132ad2ed8d WIP: removing need to tl::type_traits 2021-11-29 22:54:28 +01:00
Matthias Koefferlein f4c0a43d49 unit tests pass now with the exception of two XML parser tests (QTBUG-98656) 2021-11-25 22:18:25 +01:00
Matthias Koefferlein 0e15426c9f WIP 2021-11-25 00:57:11 +01:00
Matthias Koefferlein a4d2e7891c WIP 2021-11-24 23:59:36 +01:00
Matthias Koefferlein 068f782544 Fixed CentOS7 builds 2021-09-21 23:56:57 +02:00
Matthias Koefferlein e1dd79acbf Include SSL errors in error message on HTTPS access. 2021-09-21 21:01:53 +02:00
klayoutmatthias 1555daf68c Adjustments for Windows build with MSVC2019 (VC 16.10.31419.357)
1. removed some duplicate symbol linker error
2. removed many compiler warnings (mainly size_t/int compatibility)
3. consistent definition of db::pcell_id_type
4. removed UTF-8 character codes from string constants
5. float constants for float arguments
6. timeout in tlHttp when no openssl lib is found (instead of stalling
   app)
2021-07-17 00:20:55 +02:00
Matthias Koefferlein 45152dad00 Fixed a linker issue 2021-07-04 19:13:42 +02:00
Matthias Koefferlein 6050eb85de Fixed #839 2021-06-14 22:50:54 +02:00
Eugene Zelenko 8b0f60742e Fix misspellings in lay and tl. 2021-06-04 10:49:05 -07:00
Matthias Koefferlein 7a754b9c6f Fixed a basic bug in the deferred execution framework: when the execution of a deferred method unqueued another one, the application crashed. 2021-05-15 18:45:53 +02:00
Matthias Koefferlein f5afdd91a5 Preventing event recursion on different levels. 2021-05-10 23:42:40 +02:00
Matthias Koefferlein 31cc8f32e2 Fixed #787 - the results of const reference return values need to be copied as the holder object may go out of scope 2021-05-02 23:00:38 +02:00
Matthias Koefferlein 1285868546 Skip private-only tests without private data access 2021-05-01 21:36:52 +02:00
Matthias Koefferlein 217f957d60 Some more safety against accessing deleted user objects (stored point in temporary UserObject or DUserObject gets destroyed on destruction of the holder) - using C++ move semantics (overdue) 2021-04-07 22:16:52 +02:00
Matthias Koefferlein 94556c1448 Merge branch 'master' into lvs-enhancements 2021-03-30 18:56:27 +02:00
Matthias Köfferlein 8cb73c2daa
Merge pull request #759 from KLayout/fill-enhancements
Fill enhancements
2021-03-30 12:36:48 +02:00
Matthias Koefferlein 311d0e3ca7 Fixed some merge issues. 2021-03-29 15:18:19 +02:00
Matthias Koefferlein 8fda92a9c4 Merge branch 'drc-enhancements' into fill-enhancements 2021-03-29 15:07:47 +02:00
Matthias Koefferlein 9f295523e4 explicit net joining - preparations 2021-03-27 21:56:53 +01:00
Matthias Koefferlein fa1719acc3 Avoid a deadlock in the logger system 2021-03-23 22:45:45 +01:00
Matthias Koefferlein a8f3df7aa5 Refactoring of the interpreter scheme with the goal to provide a functional cleanup. This is required if someone stops inside the debugger. Without a proper cleanup the application becomes dysfunctional. 2021-03-15 10:17:25 +01:00