From 102cfe5c3d5c7310e695e45b2d0815bcb9702a68 Mon Sep 17 00:00:00 2001 From: Kazunari Sekigawa Date: Fri, 29 Dec 2017 00:11:19 +0900 Subject: [PATCH] Prepare Python scripts for building for Mac OSX. This refs #4 and #6. --- macbuild/ReadMe.txt | 50 +++++++++++++++++++++++++++---------------- macbuild/build4mac.py | 16 +++++++------- 2 files changed, 40 insertions(+), 26 deletions(-) diff --git a/macbuild/ReadMe.txt b/macbuild/ReadMe.txt index 080317a54..2f16e7e4e 100644 --- a/macbuild/ReadMe.txt +++ b/macbuild/ReadMe.txt @@ -1,25 +1,39 @@ -<< Draft Version 0.001>> +<< Draft Version 0.002>> -This directory "macbuild" contains different files required to build KLayout -version 0.25 or later for different Max OSX including: - * Yosemite (10.10) - * El Capitan (10.11) - * Sierra (10.12) - * High Sierra (10.13) +1. Introduction: + This directory "macbuild" contains different files required to build KLayout + version 0.25 or later for different Max OSX including: + * Yosemite (10.10) + * El Capitan (10.11) + * Sierra (10.12) + * High Sierra (10.13) -By default, Qt framework is Qt5 from Mac Ports (https://www.macports.org/) which -is usually located under: - /opt/local/libexec/qt5/ + By default, Qt framework is Qt5 from Mac Ports (https://www.macports.org/) which + is usually located under: + /opt/local/libexec/qt5/ -Also by default, supported script languages, i.e,, Ruby and Python, are those -standard ones bundled with the OS. -However, you are able to choose other options like Python from Anaconda. - -bla bla bla ... + Also by default, supported script languages, i.e, Ruby and Python, are those + standard ones bundled with the OS. + However, you are able to choose other options like Python from Anaconda. + : + : + : + : -To use the top script "build4mac.py" make a symbolic link from the parent directory like: - build4mac.py -> macbuild/build4mac.py -then execute the Python script to build with appropriate options if required. +2. How to use: + (1) Make a symbolic link from the parent directory (where 'build.sh' exists) to + 'build4mac.py', that is, + build4mac.py -> macbuild/build4mac.py + + (2) Build KLayout by appropriate options, for example, for debug-build: + $ cd /where/'build.sh'/exists + $ ./build4mac.py -d + + (3) Confirm successful build. + + (4) Run 'build4mac.py' again with the same options used in (2) with "-y" + to deploy executables and libraries under "klayout.app" bundle. + $ ./build4mac.py -d -y [End of File] diff --git a/macbuild/build4mac.py b/macbuild/build4mac.py index c7472f25c..86a7522ac 100755 --- a/macbuild/build4mac.py +++ b/macbuild/build4mac.py @@ -453,7 +453,7 @@ def DeployBinariesForBundle(): print("") print( "##### Start deploying libraries and executables #####" ) - print( "[1] Checking the status of working directory ..." ) + print( " [1] Checking the status of working directory ..." ) #------------------------------------------------------------- # [1] Check the status of working directory #------------------------------------------------------------- @@ -471,7 +471,7 @@ def DeployBinariesForBundle(): return(1) - print( "[2] Creating a new empty directory for deployment ..." ) + print( " [2] Creating a new empty directory <%s> for deployment ..." % MacPkgDir ) #------------------------------------------------------------- # [2] Create a new empty directory for deploying binaries #------------------------------------------------------------- @@ -483,7 +483,7 @@ def DeployBinariesForBundle(): os.mkdir(MacPkgDir) - print( "[3] Creating the standard directory structure for a bundle ..." ) + print( " [3] Creating the standard directory structure for a bundle ..." ) #------------------------------------------------------------- # [3] Create the directory skeleton for "klayout.app" bundle # and command line buddy tools such as "strm2cif". @@ -514,7 +514,7 @@ def DeployBinariesForBundle(): os.makedirs(targetDirB) - print( "[4] Copying KLayout's dynamic link libraries to 'Frameworks' ..." ) + print( " [4] Copying KLayout's dynamic link libraries to 'Frameworks' ..." ) #------------------------------------------------------------------------------- # [4] Copy KLayout's dynamic link libraries to "Frameworks/" and create # the library dependency dictionary. @@ -572,7 +572,7 @@ def DeployBinariesForBundle(): quit() ''' - print( "[5] Setting and changing the identification names among KLayout's libraries ..." ) + print( " [5] Setting and changing the identification names among KLayout's libraries ..." ) #------------------------------------------------------------- # [5] Set the identification names for KLayout's libraries # and make the library aware of the locations of libraries @@ -585,7 +585,7 @@ def DeployBinariesForBundle(): return(1) - print( "[6] Copying built executables and resource files ..." ) + print( " [6] Copying built executables and resource files ..." ) #------------------------------------------------------------- # [6] Copy some known files in source directories to # relevant target directories @@ -614,7 +614,7 @@ def DeployBinariesForBundle(): os.chmod( targetDirB + "/" + buddy, 0755 ) - print( "[7] Setting and changing the identification names of KLayout's libraries in each executable ..." ) + print( " [7] Setting and changing the identification names of KLayout's libraries in each executable ..." ) #------------------------------------------------------------- # [7] Set and change the library identification name(s) of # different executables @@ -641,7 +641,7 @@ def DeployBinariesForBundle(): return(1) - print( "[8] Finally, deploying Qt's frameworks ..." ) + print( " [8] Finally, deploying Qt's frameworks ..." ) #------------------------------------------------------------- # [8] Deploy Qt frameworks #-------------------------------------------------------------