Commit Graph

864 Commits

Author SHA1 Message Date
Matthias Köfferlein 03c1a74d16
Update layLayoutViewConfigPages.cc
Removed commented section - it's actually no longer required.
2018-08-12 23:22:39 +02:00
Matthias Koefferlein 155208c9c9 MSVC compatible declaration of force link flags for Qt bindings. 2018-08-04 22:44:51 +02:00
Matthias Koefferlein 67c2369962 Updated Qt declaration files for MSVC 2018-08-04 21:10:37 +02:00
Matthias Köfferlein 376e4ea0ae WIP: MSVC compatibility for pymod module. 2018-08-04 18:13:49 +02:00
Matthias Köfferlein 23d715001b First steps towards enablement of MSVC2017 for pymod. A lot of things to TODO yet ... 2018-08-04 18:02:39 +02:00
Thomas Ferreira de Lima f7836de39d
placeholder code for hiDPI display of conf pages. 2018-08-03 10:28:27 -04:00
Thomas Ferreira de Lima 8dbdbe0388
hiDPI Retina display for Stipple and Linesyles 2018-08-02 16:40:28 -04:00
Thomas Ferreira de Lima cfbcc158bf
adding / and /= operators to Point and Vector types in db [ci skip] 2018-08-02 00:45:34 -04:00
Thomas Ferreira de Lima a3234e2645
changing dbHash macro from __APPLE__ to __EXT_HASH_DEPRECATED 2018-08-01 22:31:09 -04:00
Thomas Ferreira de Lima f6d3995d6b
changing ext/hash_(set|map) to unordered_(set|map) to avoid deprecation warning on mac. 2018-08-01 15:51:05 -04:00
Thomas Ferreira de Lima 568035cdd6
adding __rmul__ in all objects with __mul__ 2018-08-01 11:56:50 -04:00
Thomas Ferreira de Lima 5bda390d82
bugfix: forgot to include tlTimer.h in tlThreads.cc 2018-07-31 17:47:01 -04:00
Matthias Koefferlein a272cd3630 Fixed #144 (description of salt packages isn't shown)
Plus: the text color of the description now uses the
palette and the color contrast better when the item
is selected.
2018-07-30 21:19:34 +02:00
Matthias Koefferlein ddfb084a8d Bugfix: also recognize plugins when the main binary is installed in a different place than the libs. 2018-07-29 14:56:19 +02:00
Matthias Koefferlein 98ecc9e47b Fixed a typo, force update of unit tests on Jenkins. 2018-07-29 14:07:02 +02:00
Matthias Koefferlein 3fb568671d A little refactoring - central place for DLL/.so path detection 2018-07-29 10:20:48 +02:00
Matthias Koefferlein 3d7bd0f32d Cleaned up code
Moved current_utc_time out of the central tlUtils header where
it does not belong. It a time function, so tlTimer.h is the better
place. Plus it does not make sense to make this inline. This just
spoils build times on changes.
2018-07-29 10:06:11 +02:00
Matthias Koefferlein 11627486d6 More verbose messages on plugin loading. 2018-07-29 02:36:25 +02:00
Matthias Koefferlein 76db5d1714 Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod 2018-07-29 01:59:50 +02:00
Matthias Koefferlein d378a632f3 Bugfix: a standalone LayoutView object made the application crash on exit
Reason: at the Qt will destroy all top level widgets.
Ruby/Python will now know of this, hence try to cleanup
the object inside it's GC.

There was an attempt to avoid this by deleting all
top-level widgets before the application exits. But
this failed for LayoutView objects because these will
create other, dependet top-level widgets for the plugins.
And the LayoutView wants to stay owner for them.
2018-07-29 01:02:39 +02:00
Matthias Koefferlein 082a91cf15 Fixed #148 (Wrong font is used) 2018-07-28 00:17:02 +02:00
Matthias Koefferlein e2f4c1874a Fixed a build issue on some compilers. 2018-07-24 22:29:45 +02:00
Matthias Koefferlein c9859b4f8f Fixed some issues with long int emulation. Using long int as substitute for __int128 2018-07-24 22:08:30 +02:00
Matthias Koefferlein 7191e4faa9 Added long int (N times a word) support for emulation of __int128 2018-07-24 21:01:54 +02:00
Matthias Koefferlein 8578918764 Updated PolygonTools test with recent edge processor update. 2018-07-23 20:28:01 +02:00
Matthias Koefferlein 6b48b2bb3d Fixed Edge unit tests. 2018-07-23 19:37:36 +02:00
Matthias Koefferlein f05b3249ca Fixed fast EdgeProcessor unit tests with recent update. 2018-07-23 19:36:00 +02:00
Matthias Koefferlein 2178b72704 Refined test for 74 issue for different orientations. 2018-07-23 19:12:12 +02:00
Matthias Koefferlein 5741a120e9 More precise point/edge interaction for scanner 2018-07-22 22:52:04 +02:00
Matthias Koefferlein efd9e47c1f Attempt to fix a scanline issue. 2018-07-22 18:49:17 +02:00
Daniel Wang c430c82744
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod 2018-07-19 19:23:00 -04:00
Matthias Koefferlein 5fe0aca9c7 Fixed a segfault on help(pya.Box)
Needed to refactor the class hierarchy of the Python classes.
Basically the module specific base class was removed as it does
not provide any benefit. The object layout of the PyObject
specialization was modified such that the payload is attached
to the end. This is compatible with the hidden extensions
which Python adds to normal objects.
2018-07-19 23:50:24 +02:00
Daniel Wang ad1ada9b23
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod 2018-07-19 13:40:57 -04:00
Matthias Koefferlein aca209c095 Using C.UTF-8 locale fallback for string tests for vanilla Linux installations. 2018-07-18 21:57:47 +02:00
Daniel Wang 5f6c265e4b
Moved current_utc_time to tlUtils and fixed tlTimer 2018-07-17 14:37:41 -04:00
Daniel Wang 106b57c676
Fixed unchanged functions 2018-07-17 14:14:47 -04:00
Daniel Wang 20db1e1f24
Added support for Mac OS X 10.11 and lower 2018-07-17 14:05:33 -04:00
Thomas Ferreira de Lima f26576099c missing stdlib.h import 2018-07-16 23:29:51 -04:00
Matthias Koefferlein 9dcfa140c3 Added __init__.py file to Python package. 2018-07-15 19:33:44 +00:00
Matthias Koefferlein 46b0f079cf Skipping HTTP tests rather than disabling them
With this commit, tests are logged as skipped and
not just omitted, if HTTP support is not enabled
(neighter Qt nor curl)
2018-07-15 20:58:54 +02:00
Matthias Koefferlein 5351922440 Enabled minimum build configuration
Minimum build configuration is without Qt, Ruby, curl and expat.
Only Python is required.

This commit also provides a functional (through polling) Qt-less HTTP
implementation through libcurl if enabled.
2018-07-15 19:59:45 +02:00
klayoutmatthias 6858190a20 Fixed Windows build and tests
* tl::is_same_file works with directories now too
* Unit tests added for this
* bridge_mod sample produces the proper DLL now
2018-07-15 18:03:42 +02:00
Matthias Koefferlein bbb88c5ca6 Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod 2018-07-15 07:42:14 -07:00
Matthias Koefferlein d3b4bc7f87 Enabled pymod build via setup.py/distutils on MacOS 2018-07-15 07:42:01 -07:00
klayoutmatthias 1642129504 Fixed a typo that breaks the Win build. 2018-07-15 16:39:16 +02:00
Matthias Koefferlein cb33753e1c Fixed a FileUtils unit test on Windows. 2018-07-15 15:36:30 +02:00
Matthias Koefferlein a1d8913de9 Enhanced Qt-less FileUtils test, so they cover the full functionality without Qt 2018-07-15 15:27:39 +02:00
Matthias Koefferlein fc9783432b Bugfix: db_plugin modules were not loaded for python modules
* Added unit test for this
* Provided an option for easier debugging such issues:
  Setting env var KLAYOUT_VERBOSITY will enable debug levels on Python
  modules (and all other binaries). Plugin loading issues can
  be debugged by setting KLAYOUT_VERBOSITY=21.
2018-07-15 14:14:14 +02:00
Matthias Koefferlein 07f69dccd3 Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod 2018-07-15 11:12:29 +02:00
Matthias Koefferlein 628219080a Some enhancements/bug fixes for Windows
* Enabled pipe: on outputs
* Don't die on file paths containing backslashes in DRC tests
2018-07-15 11:11:05 +02:00
Matthias Koefferlein 6a3914fcf6 Fixed pya.cc build with Py3/Linux 2018-07-14 20:32:13 +00:00
Matthias Koefferlein e709cad9c8 Fixed an include path for better compatibility with Python's distutil. 2018-07-14 20:24:28 +00:00
Matthias Koefferlein 49fd896e68 Another fix for Windows build. 2018-07-14 09:31:40 +02:00
Matthias Koefferlein 2f99a8a67d Another fix for Windows build. 2018-07-14 09:19:23 +02:00
Matthias Koefferlein 817ab9cd1c Fixed Windows build. 2018-07-14 08:55:46 +02:00
Matthias Koefferlein 5ea72893f3 Enabled build with Qt again. 2018-07-14 02:16:35 +02:00
Matthias Koefferlein 8f04fc5358 Removed some further Qt dependencies. For example, HTTPS access now is possible without Qt through Curl only. 2018-07-14 02:14:06 +02:00
Matthias Koefferlein 9ea24cb6a0 Explicitly set the locale for local string conversion test. 2018-07-13 18:35:49 +02:00
Matthias Koefferlein b10c64907a Made the threaded worker test a bit more reliable 2018-07-13 18:28:32 +02:00
Matthias Koefferlein f795aa84ec Avoid one more deadlock in gsi::Proxy. 2018-07-13 18:24:41 +02:00
Matthias Koefferlein cf3a6c2ce5 Fixed a deadlock. 2018-07-13 08:08:15 +02:00
Matthias Koefferlein 937fa96245 Some bug fixes
* Case folding table fixed: lowercase "i without dot" overlaps "i"
* Fixed build of bridge sample in non-Qt case
2018-07-13 08:03:00 +02:00
Matthias Koefferlein abdde4ba19 Corrected last commit (UTF-8 case conversion) and added more test coverage. 2018-07-13 01:13:41 +02:00
Matthias Koefferlein 70a4bd7aa2 Locale-independent implementation of UTF-8 string case conversion. 2018-07-13 01:07:46 +02:00
Matthias Koefferlein 4f326572d4 Fixed one .pro file for older Qt versions 2018-07-12 23:57:00 +02:00
Matthias Koefferlein 61a37fc3c3 Prevent a deadlock when destroying gsi objects. 2018-07-12 23:28:30 +02:00
Matthias Koefferlein 72c3288090 Disabled thread local storage test for Qt <4.7 because this class is broken with an int argument on Qt 4.6.2 2018-07-12 23:25:33 +02:00
Matthias Koefferlein ccc5be86d7 Fixed a typo - strange enough it compiled with this error on some platforms. 2018-07-12 23:24:46 +02:00
Matthias Koefferlein 1375bdcc9a Fixed XMLParser unit test 5 for Qt 2018-07-12 23:19:54 +02:00
Matthias Koefferlein 03ddd495d8 Disabled brute-force shutdown test for threads on Qt - QThread is not able to deal with this. 2018-07-12 22:11:57 +02:00
Matthias Koefferlein 05f8d223ac Added a way to specify the type of a macro on files
This feature is mainly useful for command line arguments.
If you run KLayout with

  klayout -b -r myscript

it will not be able to determine the type of macro without
a suffix. You can explicitly specify a certain type by
giving the suffix implicitly:

  klayout -b -r myscript[rb]

This will read "myscript" but pretend it was "myscript.rb"
and execute it as Ruby script.

This feature is handy if you need to run a file with a
specific interpreter but cannot modify the file name.
2018-07-12 21:51:51 +02:00
Matthias Koefferlein f8ffcd14f1 Fixed #141 (Issue with RBA::QHostAddress (ambiguous overload) on Qt5) 2018-07-12 21:33:19 +02:00
Matthias Koefferlein 20d1d0500f Fixed #142 (Issue with RBA::RecursiveShapeIterator#region=) 2018-07-12 21:16:14 +02:00
Matthias Koefferlein ca8f9fd904 Fixed Qt-based XML parser build. 2018-07-12 20:54:05 +02:00
klayoutmatthias 616c2942e1 WIP: made pymod functional on Windows (without Qt). Tests pass. 2018-07-10 23:34:30 +02:00
Matthias Koefferlein d2c890ab6d WIP: fixed unit tests for Qt-less build. 2018-07-10 01:17:35 +02:00
Matthias Koefferlein 58fd6ed143 WIP: bugfix on WaitCondition (deadlocked) 2018-07-10 00:13:06 +02:00
Matthias Koefferlein 5cfb98d9f2 WIP: pthread-based WaitCondition (simple) 2018-07-10 00:01:25 +02:00
Matthias Koefferlein ad49c9502b WIP: some work on the pthread-based alternative to Qt threads. 2018-07-09 22:58:16 +02:00
Matthias Koefferlein b0f69d46a9 WIP: one first basic Thread test. 2018-07-09 00:55:41 +02:00
Matthias Koefferlein 772062e33e WIP: fixed path generation in db::init in non-Qt case. 2018-07-09 00:43:49 +02:00
Matthias Koefferlein 18782666f7 WIP: made Qt build functional again. 2018-07-09 00:03:19 +02:00
Matthias Koefferlein 260243a6d9 WIP: Fixed PCB import for non-Qt builds, added missing file. 2018-07-08 23:44:36 +02:00
Matthias Koefferlein 3acb7b6920 Fixed documentation (XML parser error) of RBA::TextGenerator. 2018-07-06 00:58:26 +02:00
Matthias Koefferlein 2b64c4bf82 Bugfix: multithread-safety for gsi::Proxy (required for the tiling processor use case). 2018-07-06 00:56:34 +02:00
Matthias Koefferlein 803a29037a Added test for reproducing threading issue on TP 2018-07-06 00:09:22 +02:00
Matthias Koefferlein 221d5a4a38 Using enviornment locale with unit_tests. 2018-07-06 00:07:01 +02:00
Matthias Koefferlein e0a23adb66 Made XML parser and writer functional with expat 2018-07-05 23:40:39 +02:00
Matthias Koefferlein 43243ae162 Enabled Qt-less unit tests, some basic implementation of Qt-less threads based on pthread and an atomics library. A lot missing. 2018-07-05 00:33:34 +02:00
Matthias Koefferlein eec1843459 Less Qt in strmrun test 2018-07-04 20:30:34 +02:00
Matthias Koefferlein ad7a9836b0 Using pipes instead of QProcess for pymod tests, enable pipes on Windows (needs testing) 2018-07-04 20:26:34 +02:00
Matthias Koefferlein 642fb4270b Fixed rba::Technology test. Now all tests are passing with Qt. 2018-07-04 20:00:41 +02:00
Matthias Koefferlein 12e0db660c Finished file utils tests. 2018-07-04 19:33:39 +02:00
Matthias Koefferlein e9dcadb278 Fixed a linker issue. 2018-07-04 00:25:34 +02:00
Matthias Koefferlein 1f8afab417 Bugfixed the Qt-based XML implementation. 2018-07-04 00:21:06 +02:00
Matthias Koefferlein d1553d7586 Some more tests on tl::FileUtils 2018-07-03 23:51:10 +02:00
Matthias Koefferlein 17c7c8e1bb Some file utils tests added (file name decomposition, fake Windows/Linux tests) 2018-07-03 23:43:57 +02:00
Matthias Koefferlein 7ede06dca5 Build fixed, basic bugs fixed and made unit test framework work. Added tests for tlString. 2018-07-03 22:09:38 +02:00
Matthias Koefferlein bbfcd9cf9e Made normal build work again. 2018-07-03 01:49:06 +02:00
Matthias Koefferlein ab06ce3445 Made the code build without Qt. 2018-07-03 01:08:02 +02:00
Matthias Koefferlein a82adbbe83 Massive reduction of Qt dependencies, but also massive refactoring. 2018-07-03 00:51:36 +02:00
Matthias Koefferlein c532b75338 Provide an QtXml alternative through expat. 2018-07-02 22:19:36 +02:00
Matthias Koefferlein 7fca6f5f31 Non-Qt implementations of file utils - needs testing. 2018-07-02 20:29:34 +02:00
Matthias Koefferlein 239b7ca3ff First (major) steps towards a Qt-less basic build. 2018-07-02 18:20:20 +02:00
Matthias Koefferlein 5f8b258235 Feature: hide or show markers using the new View/Show Markers configuration option. 2018-06-28 23:52:47 +02:00
Matthias Köfferlein b64d14e02e
Merge pull request #138 from lightwave-lab/macos_embedding_python_pr
Macos embedding python and Qt5.11.1 bugfix
2018-06-28 21:08:41 +02:00
Matthias Koefferlein b47c0fc3a3 Fixed #139 (libraries not reassigned to GDS when loading file from command line). 2018-06-27 23:36:30 +02:00
Matthias Koefferlein ac2271b9d7 Fixed build on Qt5i (another part). 2018-06-27 00:13:56 +02:00
Matthias Koefferlein 7ba0138cfc Fixed build on Qt5. 2018-06-27 00:08:26 +02:00
Thomas Ferreira de Lima 73772cc6f8 bugfix instantiating Qt::blue not available in qt5.11 2018-06-26 02:53:02 -04:00
Matthias Koefferlein 94387529d6 Fixed #134
The issue was caused by an internal error in the edge processor.
Effectively the weak attractor scheme was causing this problem.
As the weak attractors are making things worse rather than
better I dropped them.

In theory, the weak attractors render an edge undisturbed by
neighboring intersection points, but in cases or parallel edges
this lead to problems: omitting cut points violates the output
edge configuration warranties the the polygon stitcher fails.

In addition, to maintain the solution for bug #74, the cut point
capture condition was relaxed, so that edge crossing the exact
corner of the snapping rectangle of a point are not considered
captured.
2018-06-26 01:04:20 +02:00
Matthias Koefferlein edbe0b2542 Attempt to make thread test more reproducible. 2018-06-24 15:16:49 +02:00
Matthias Koefferlein da65851ee2 Public declaration of path::to_string 2018-06-24 14:11:23 +02:00
Matthias Koefferlein f7843410a0 Public declaration of path template instantiation 2018-06-24 14:08:31 +02:00
Matthias Koefferlein 94a4c0df27 WIP: added force-link to rdb Python module so the rdb library is always linked 2018-06-22 00:02:27 +02:00
Matthias Koefferlein c2341ff213 WIP: speedup for CI development, fixed deb package (python needs to be part of dependency), fixed gcc build with Python3 2018-06-21 22:18:17 +02:00
Matthias Koefferlein 0d6da0e49d WIP: fixed unit test fails with python module import tests - what a hack ... 2018-06-20 23:19:26 +02:00
Matthias Koefferlein 087740d326 WIP: pass sub-process output through tl::Log in unit tests for proper XML escaping into JUnit files. 2018-06-20 22:25:03 +02:00
Matthias Koefferlein ec0fad0d75 WIP: Fixed a test issue with the PCellDeclarationHelper external class. 2018-06-20 16:26:54 +02:00
Matthias Koefferlein 436550868b WIP: fixed a initialization issue. 2018-06-20 15:58:46 +02:00
Matthias Koefferlein 4dc0065028 WIP: fixed installation target for pymod __init__.py file for older Qt versions. 2018-06-20 13:37:41 +02:00
Matthias Koefferlein e447c175d8 WIP: fixed pymod install targets for some Qt versions 2018-06-20 08:25:13 +02:00
Matthias Koefferlein dd9467d097 WIP: fixed streamer headers. 2018-06-20 01:13:31 +02:00
Matthias Koefferlein 0c766150b0 WIP: Fixed install targets for plugins. 2018-06-19 21:21:44 +02:00
Matthias Koefferlein f4dd012005 WIP: refactored GSI test classes so they are hard-linked into the ut_runner binary. Dynamic loading inside .ut files happens too late. 2018-06-19 21:12:53 +02:00
Matthias Koefferlein 361bc64870 WIP: fixed some build issues, removed some link dependencies which causes issues on Windows. 2018-06-19 20:31:55 +02:00
Matthias Koefferlein 33a9782f77 Proper installation target for klayout Python module. 2018-06-19 01:07:53 +02:00
Matthias Koefferlein 8845d18c74 Renamed pykl to klayout - because of name clash with the klayout binary, the python module now sits inside 'pymod' 2018-06-19 00:50:27 +02:00
Matthias Koefferlein 4744c90557 WIP: futher fixes for Windows build. 2018-06-18 00:19:18 +02:00
Matthias Koefferlein 81a1e6fd1a WIP: futher fixes for Windows build. 2018-06-18 00:15:43 +02:00
Matthias Koefferlein 4f602bb394 WIP: fixes for Windows build. 2018-06-18 00:06:38 +02:00
Matthias Koefferlein e05c407d5e WIP: added shared object dependencies for Qt5 2018-06-17 22:59:04 +02:00
Matthias Koefferlein 741e9d73e3 WIP: fixed build 2018-06-17 19:09:54 +02:00
Matthias Koefferlein 750c85fecb WIP: fixed dependencies of projects. 2018-06-17 18:55:57 +02:00
Matthias Koefferlein 538f8f3d53 WIP: added missing files. 2018-06-17 16:51:01 +02:00
Matthias Koefferlein 4c90d98750 WIP: Fixed windows build. 2018-06-17 10:27:54 +02:00
Matthias Koefferlein 4097a5b361 WIP: turned ext module into plugins. 2018-06-17 09:43:25 +02:00
Matthias Koefferlein 7e56ce23e5 WIP: Moved net tracer into plugin, GSI is now in db module. 2018-06-16 00:56:35 +02:00
Matthias Koefferlein 757c6af80f WIP: rdb module for Python, fixed unit tests for non-Qt bindings case 2018-06-15 22:49:01 +02:00
Matthias Koefferlein 147ee20b55 WIP: Class documentation shows module name and link now. 2018-06-15 01:11:35 +02:00
Matthias Koefferlein 381357bfcb WIP: correctly assigned db module to LEF/DEF reader GSI declaration 2018-06-15 01:04:42 +02:00
Matthias Koefferlein 9e972876fe WIP: correctly assigned db module to technology in GSI 2018-06-15 01:02:26 +02:00
Matthias Koefferlein 41cedf4b45 WIP: fixed the technology refactoring part 2018-06-15 00:59:38 +02:00
Matthias Koefferlein 10cfac3d42 WIP: fixed linker issues. 2018-06-15 00:31:46 +02:00
Matthias Koefferlein c360f6d4a7 WIP: first steps for making technology a db component. 2018-06-14 23:38:23 +02:00
Matthias Koefferlein 6bc1537bea WIP: remove vim swap file. 2018-06-14 00:02:41 +02:00
Matthias Koefferlein 8045989fa3 WIP: moved PCB and LEF/DEF import from ext to db/lay namespace 2018-06-13 23:59:39 +02:00
Matthias Koefferlein 4f63f5102b WIP: fixed PCB unit test .pro file. 2018-06-13 23:31:50 +02:00
Matthias Koefferlein 9ca011d138 WIP: turned Gerber and LEF/DEF import into plugins. 2018-06-13 23:27:16 +02:00
Matthias Koefferlein 5421f77e61 WIP: finished refactoring to plugins for CIF, DXF & OASIS too. 2018-06-13 22:23:27 +02:00