From 208b93c3a7465463309d900a50376d54719a13d8 Mon Sep 17 00:00:00 2001 From: Kazunari Sekigawa Date: Mon, 8 Jan 2018 22:37:18 +0900 Subject: [PATCH] Revised "ReadMe" and comments in *.py. This refs #4 and #19. --- macbuild/ReadMe.md | 15 ++++++++------- macbuild/ReadMe.txt | 19 ++++++++++--------- macbuild/build4mac.py | 18 +++++++++++------- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/macbuild/ReadMe.md b/macbuild/ReadMe.md index 8db196198..3544d88ba 100644 --- a/macbuild/ReadMe.md +++ b/macbuild/ReadMe.md @@ -1,7 +1,7 @@ << Draft Version 0.003>> Relevant KLayout version: 0.25.1 # 1. Introduction: -This directory "macbuild" contains different files required for building KLayout version 0.25 or later for different Max OSX including: +This directory "macbuild" contains different files required for building KLayout (http://www.klayout.de/) version 0.25 or later for different Mac OSXs including: * Yosemite (10.10) * El Capitan (10.11) * Sierra (10.12) @@ -14,16 +14,16 @@ By default, Qt framework is "Qt5" from Mac Ports (https://www.macports.org/) whi ### IMPORTANT: ``` -* Please DO NOT USE "Qt 5.10.x" which is problematic in showing your design in the main canvas. +* Please DO NOT USE "Qt 5.10.0" which is problematic in showing your design in the main canvas. * Please USE "Qt 5.9.x" instead. * Building with Qt4 will lead to some compile errors. ``` Also by default, supported script languages, i.e, Ruby and Python, are those standard ones bundled with the OS. # 2. Non-OS-standard script language support -You may want to use a non-OS-standard script language such as Python 3.6 from Aanaconda2 (https://www.anaconda.com/download/#macos) in combination with KLayout. +You may want to use a non-OS-standard script language such as Python 3.6 from Anaconda2 (https://www.anaconda.com/download/#macos) in combination with KLayout. -Since Anacoda(2) is a popular Python development environment, this is worth trying. +Since Anaconda2 is a popular Python development environment, this is worth trying. Unfortunately, however, some dynamic linkage problems are observed as of today. On the other hand, Python 3.6 provided by Mac Ports is usable. Please try this (refer to 3B below) if you feel it's useful. @@ -41,7 +41,7 @@ $ cd /where/'build.sh'/exists $ ./build4mac.py -d ``` 3. Confirm successful build. -4. Run 'build4mac.py' again with the same options used in 2. PLUS "-y" to deploy executables and libraries under "klayout.app" bundle. +4. Run 'build4mac.py' again with the same options used in 2. PLUS "-y" to deploy executables and libraries (including Qt's frameworks) under "klayout.app" bundle. ``` $ ./build4mac.py -d -y ``` @@ -63,9 +63,10 @@ $ ./build4mac.py -r mp24 -p mp36 $ ./build4mac.py -r mp24 -p mp36 -Y ``` * [-Y|--DEPOLY] option deploys KLayout's dylibs and executables only. -That is, paths to other modules (Ruby, Python, and Qt5 Frameworks) are remained unchanged (absolute paths in your development environment). +That is, paths to other modules (Ruby, Python, and Qt5 Frameworks) remain unchanged (absolute paths in your development environment). -5. Copy/move generated bundles ("klayout.app" and "klayout.scripts/") to your "/Applications" directory. +5. Copy/move generated bundles ("klayout.app" and "klayout.scripts/") to your "/Applications" directory for installation. By: Kazzz (January 08, 2018) + [End of File] diff --git a/macbuild/ReadMe.txt b/macbuild/ReadMe.txt index 1bd8f735b..54001bcf5 100644 --- a/macbuild/ReadMe.txt +++ b/macbuild/ReadMe.txt @@ -2,8 +2,8 @@ Relevant KLayout version: 0.25.1 1. Introduction: - This directory "macbuild" contains different files required for building KLayout - version 0.25 or later for different Max OSX including: + This directory "macbuild" contains different files required for building KLayout (http://www.klayout.de/) + version 0.25 or later for different Mac OSXs including: * Yosemite (10.10) * El Capitan (10.11) * Sierra (10.12) @@ -14,7 +14,7 @@ Relevant KLayout version: 0.25.1 /opt/local/libexec/qt5/ - * Please DO NOT USE "5.10.x" which is problematic in showing your design in the main canvas. + * Please DO NOT USE "5.10.0" which is problematic in showing your design in the main canvas. * Please USE "5.9.x" instead. * Building with Qt4 will lead to some compile errors. @@ -24,8 +24,8 @@ Relevant KLayout version: 0.25.1 2. Non-OS-standard script language support You may want to use a non-OS-standard script language such as Python 3.6 from - Aanaconda2 (https://www.anaconda.com/download/#macos) in combination with KLayout. - Since Anacoda(2) is a popular Python development environment, this is worth trying. + Anaconda2 (https://www.anaconda.com/download/#macos) in combination with KLayout. + Since Anaconda2 is a popular Python development environment, this is worth trying. Unfortunately, however, some dynamic linkage problems are observed as of today. On the other hand, Python 3.6 provided by Mac Ports is usable. @@ -41,7 +41,7 @@ Relevant KLayout version: 0.25.1 $ ./build4mac.py -d (3) Confirm successful build. (4) Run 'build4mac.py' again with the same options used in (2) PLUS "-y" - to deploy executables and libraries under "klayout.app" bundle. + to deploy executables and libraries (including Qt's frameworks) under "klayout.app" bundle. $ ./build4mac.py -d -y (5) Copy/move generated bundles ("klayout.app" and "klayout.scripts/") to your "/Applications" directory for installation. @@ -59,10 +59,11 @@ Relevant KLayout version: 0.25.1 to deploy executables and libraries under "klayout.app" bundle. $ ./build4mac.py -r mp24 -p mp36 -Y * [-Y|--DEPOLY] option deploys KLayout's dylibs and executables only. - That is, paths to other modules (Ruby, Python, and Qt5 Frameworks) are - remained unchanged (absolute paths in your development environment). + That is, paths to other modules (Ruby, Python, and Qt5 Frameworks) + remain unchanged (absolute paths in your development environment). (5) Copy/move generated bundles ("klayout.app" and "klayout.scripts/") to your - "/Applications" directory. + "/Applications" directory for installation. By: Kazzz (January 08, 2018) + [End of File] diff --git a/macbuild/build4mac.py b/macbuild/build4mac.py index 7887a1293..9eaeaca8b 100755 --- a/macbuild/build4mac.py +++ b/macbuild/build4mac.py @@ -41,7 +41,7 @@ def SetGlobals(): global DebugMode # True if debug mode build global CheckComOnly # True if only for checking the command line parameters to "build.sh" global DeploymentF # True if fully (including Qt's Frameworks) deploy the binaries for bundles - global DeploymentP # True if partially deploy the binaries for non-OS-standard script language user + global DeploymentP # True if partially deploy the binaries excluding Qt's Frameworks global DeployVerbose # -verbose=<0-3> level passed to 'macdeployqt' tool global Version # KLayout's version # auxiliary variables on platform @@ -74,8 +74,7 @@ def SetGlobals(): Usage += " [-c|--checkcom] : check command line and exit without building | disabled \n" Usage += " [-y|--deploy] : deploy executables and dylibs including Qt's Frameworks | disabled \n" Usage += " [-Y|--DEPLOY] : deploy executables and dylibs for those who built KLayout | disabled \n" - Usage += " : from source code choosing non-OS-standard script language | \n" - Usage += " : such as Python 3.6 from Anaconda2 | \n" + Usage += " : from the source code and use the tools in the same machine | \n" Usage += " : ! After confirmation of successful build of | \n" Usage += " : KLayout, rerun this script with BOTH: | \n" Usage += " : 1) the same options used for building AND | \n" @@ -864,6 +863,9 @@ def DeployScriptBundles(): def main(): SetGlobals() ParseCommandLineArguments() + #---------------------------------------------------------- + # [The main build stage] + #---------------------------------------------------------- ret = RunMainBuildBash() if not DeploymentF and not DeploymentP: if ret == 0: @@ -872,15 +874,17 @@ def main(): sys.exit(1) else: #---------------------------------------------------------- - # [Stage-1] Deployment of executables and bundles to make - # the main "klayout.app" bundle + # [Deployment stage-1] + # Deployment of dynamic link libraries, executables and + # resources to make the main "klayout.app" bundle #---------------------------------------------------------- ret1 = DeployBinariesForBundle() if not ret1 == 0: sys.exit(1) #---------------------------------------------------------- - # [Stage-2] Deployment of wrapper Bash scripts to make - # "KLayoutEditor.app" and "KLayoutViewer.app" + # [Deployment stage-2] + # Deployment of wrapper Bash scripts and resources + # to make "KLayoutEditor.app" and "KLayoutViewer.app" #---------------------------------------------------------- ret2 = DeployScriptBundles() if ret2 == 0: