Commit Graph

1282 Commits

Author SHA1 Message Date
Matthias Koefferlein cbda1b2210 Merge branch 'pymod-msvc' into pymod 2018-10-21 22:20:56 +02:00
Thomas Ferreira de Lima ecc90ab4db
attempt to solve the libname_of computation for all platforms 2018-10-20 23:46:12 -04:00
Thomas Ferreira de Lima a0c3b095a2
fixing dbpi library names 2018-10-20 17:21:00 -04:00
klayoutmatthias 79871f6bab Fixed setup.py for Linux (and maybe for MacOS too)
- Added "lib" prefix for libraries
- Forced setuptools to produce shared objects for the
  libraries - otherwise it will produce static libs
2018-10-20 20:44:56 +00:00
Matthias Koefferlein d4636803e6 Fixed typo in Changelog 2018-10-20 09:56:45 +02:00
Matthias Koefferlein d67a50bd1d Fixed #176 by introducing a separate bitmap for text drawing optimization. 2018-10-20 09:53:25 +02:00
Matthias Koefferlein dc9267d61e WIP: updated solution
* Reverted first solution partially because it lead to drawing errors.
* Redraw thread will fire workers only for layers that really need
  to be drawn
2018-10-20 09:53:07 +02:00
Matthias Koefferlein 46116f4828 Basic performance improvement in the bitmap to image area
Empty bitmaps are skipped now
2018-10-20 09:52:35 +02:00
Matthias Koefferlein a57b855e12 Updated version to check CD 2018-10-18 23:29:51 +02:00
klayoutmatthias e452a4305c setup.py changes for MSVC builds
- Using "Library" rather than "Extension" for building shared libs
  (does not try to export extension-specific symbols)
- Linking against import libs
- Using os.path.join consistently for backslash/slash difference
2018-10-18 09:41:38 +02:00
Matthias Koefferlein 8ab4868d76 Fixed build on Windows (tl::InputPipe::wait was missing) 2018-10-16 23:00:28 +02:00
Matthias Koefferlein 69c5088278 Updated Changelog (merge from master) 2018-10-14 23:53:44 +02:00
Matthias Koefferlein 90c03140b3 Fixed #185 for pymod branch 2018-10-14 23:42:10 +02:00
Matthias Koefferlein dd9d46da38 Activated stream unit tests. 2018-10-14 23:34:25 +02:00
Matthias Köfferlein 1cb982cf6a
Merge pull request #184 from lightwave-lab/pymod-pip
Pymod Creating pip package
2018-10-10 22:19:42 +02:00
Matthias Köfferlein 8249bdff1c
Merge pull request #183 from lightwave-lab/pymod-travis-optimizations
Pymod travis optimizations
2018-10-10 22:19:11 +02:00
Thomas Ferreira de Lima c78c2a0228
unit-testing pymod with tl, rdb, and db (+plugins) tests 2018-10-09 18:00:38 -04:00
Thomas Ferreira de Lima 80694aaba2
Merge remote-tracking branch 'upstream/pymod' into pymod-pip 2018-10-09 17:44:28 -04:00
Thomas Ferreira de Lima 0f14f34454
Merge remote-tracking branch 'upstream/pymod' into pymod-travis-optimizations 2018-10-09 17:43:37 -04:00
Matthias Koefferlein 904a12c11e Added a way to get the exit code from InputPipe
The method is to call wait() on the pipe object
which returns the exit code.

Some tests have been added for this.
2018-10-09 23:40:28 +02:00
Thomas Ferreira de Lima f007d2d758
latest version of ruby not necessary for dropbox-deployment 2018-10-09 17:40:16 -04:00
Thomas Ferreira de Lima 69bc566e0f
adding python 3.5 and 3.4 for osx 10.13 2018-10-09 17:40:16 -04:00
Thomas Ferreira de Lima 6d69f22ece
building and linking in linux with clang and clang++, respectively (smaller binaries) 2018-10-09 17:39:03 -04:00
Thomas Ferreira de Lima a2e357cf9c
testing new compile flags 2018-10-09 17:39:03 -04:00
Thomas Ferreira de Lima 5dcc01f0f3
adding linux pymod py3.7 with clang instead of gcc 2018-10-09 17:39:03 -04:00
Thomas Ferreira de Lima bda1304500
fixed macos10.11 version with py3 2018-10-09 17:39:03 -04:00
Thomas Ferreira de Lima e7ebd88b2c
critical bugfix for pymod (db plugins failed to import)
Cause: dbInit.cc:133 hardcodes the macos extension for shared libraries ('.dylib'), but setuptools builds it with '.so'.

Current solution: Since the main build's qmake respects the dylib standard, I've adapted setuptools to use '.dylib'.
2018-10-09 17:31:57 -04:00
Thomas Ferreira de Lima 7852634ffa
bugfix for setup.py sdist 2018-10-09 17:31:53 -04:00
Matthias Koefferlein 7df9242efb Merge remote-tracking branch 'origin/pymod' into pymod 2018-10-09 23:00:30 +02:00
Matthias Koefferlein 222b98fd70 Some fixes for the testsuite
With these fixes, unit tests pass with MacOS
(set DYLD_LIBRARY_PATH!)

1.) MacOS takes popen vs. pclose seriously
By using fopen we basically spoil the system and other popen
won't work.

2.) For system integrity, MacOS does not propagate DYLD_LIBRARY_PATH
to child processes such as sh. This has to be done explictly.

3.) Search the klayout binary in the right path (klayout.app/...)

4.) Reset KLAYOUT_HOME for less intervention by installed macros
2018-10-09 13:57:26 -07:00
Matthias Koefferlein 19a3f19378 Removed some misleading comments. 2018-10-09 21:24:23 +02:00
Matthias Koefferlein 70778e9414 Now also fixed the bd unit tests - there are also independent from the streamer plugins now. 2018-10-09 01:12:58 +02:00
Matthias Koefferlein f0661ba0b3 Some wrong header includes fixed. 2018-10-09 00:35:03 +02:00
Matthias Koefferlein a7846ead9f Add-on to previous commit: fixes some Python issues
The comments for LoadLayoutOptions#layer_map, #cif_layer_map
and #dxf_layer_map have been updated to reflect the new status
of these properties (which have been methods). The tests
are updated accordingly (layer_map() -> layer_map).
2018-10-09 00:18:45 +02:00
Matthias Koefferlein db981b0f7d A huge patch to make Windows build functional again after recent updates
The issue was: for MacOS/clang, the virtual format-specific
option structs had to be embedded in one compile unit (for RTTI).
In Windows this will lead to link errors since the DLL is not
reachable at build time for the generic reader/writer configuration in
the buddy tools.

The solution is to use GSI methods (provided for scripting) to
set the reader/writer options in a generic way that does not
require linking against the plugin DLLs.
2018-10-08 23:31:22 +02:00
Matthias Köfferlein 387b79672f
Merge pull request #179 from lightwave-lab/pymod
Fixed plugin detection in MacOS
2018-10-07 23:09:52 +02:00
Thomas Ferreira de Lima 5521c6664a
macos10.11 version with py3. annoying2 2018-10-07 16:45:43 -04:00
Thomas Ferreira de Lima b168a3f52c
macos10.11 version with py3. annoying 2018-10-07 16:15:13 -04:00
Thomas Ferreira de Lima b617bafb8c
Fixing brew install bug due to ruby version mismatch. (cont'd) 2018-10-07 14:12:20 -04:00
Thomas Ferreira de Lima 5d7bb7d60e
attempting python package for python3.6.5_1 osx10.13 2018-10-07 14:10:51 -04:00
Thomas Ferreira de Lima 53504a5d7e
Fixing brew install bug due to ruby version mismatch.
Refer to https://github.com/Homebrew/brew/issues/3299

Bug seen in https://travis-ci.org/lightwave-lab/klayout/jobs/438311059#L187
2018-10-07 13:50:32 -04:00
Thomas Ferreira de Lima c36bd53d5b
Build fixes.
Bumping pymod version to 0.26.0.dev1
Improvements to pypi package.
Attempting to build macos10.11 version with py3.
2018-10-07 12:52:42 -04:00
Thomas Ferreira de Lima a7a01ac09a
changing pymod version to 0.26.0.dev0 (read commit message)
I am going to test uploading klayout as module to pypi, but it requires unique naming. Therefore, there can only be one klayout-0.26.0 version. Only stable versions ("releases") should ever be uploaded. bugfix-patched versions should be named 0.26.0.post1 etc.
2018-10-06 21:22:08 -04:00
Thomas Ferreira de Lima c213aeaab0
fixing ut_runner by adding DYLD_LIBRARY_PATH to env varas 2018-10-05 10:23:24 -04:00
Thomas Ferreira de Lima b995c67a26
os.makedirs has no exist_ok in python2 2018-10-05 09:42:42 -04:00
Thomas Ferreira de Lima 96be601da9
improving build process. tentative fix to python3 osx10.11 2018-10-05 09:42:42 -04:00
Matthias Koefferlein 4ffcaba5d1 Important bug fix for MacOS
Unlike Linux, RTTI does not work in MacOS/clang when the classes
originate from different compile units. I think that Linux's C++
runtime not only checks for identical vtable, but alternatively
for same name. On MacOS, dynamic_cast will fail instead. This fix
solves this issue by placing the important steam format option
specializations into a single specific shared object (the DB plugin).
2018-10-04 14:10:22 -07:00
Matthias Koefferlein d8b1808234 Enhanced the build script to properly set the library IDs
This fix assigns proper library IDs and load paths for the dependent
libraries even if they are distributed among several directories.

This is in particular important for the stream and tool plugins
which exist in a folder next to the application but have to refer
to libraries from the Frameworks folder.

The fix consists of extending the library analysis within build4mac.py
and supplying an additional directory listing the target directories.
2018-10-02 18:57:04 -07:00
Matthias Koefferlein f7c4aa0348 (Partial) attempt to fix the plugin detection issue on MacOS 2018-10-02 17:36:30 -07:00
Matthias Koefferlein c053e4f8ec Manual merge of remaining files from lightwave-lab:pymod-test to pymod
git merge failed, probably because there were two parallel attempts
to merge master into pymod leading to opposite resolutions.
2018-10-02 22:41:08 +02:00