Update README_MacOS.md

This commit is contained in:
StefanSchippers 2020-12-12 02:12:27 +01:00 committed by GitHub
parent 9cea12e8df
commit 3dc0cfc146
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 33 additions and 28 deletions

View File

@ -3,42 +3,47 @@ In order to compile xschem properly on MacOS, we always need to reference the X
and change some compilation variables. The following dependencies are required: and change some compilation variables. The following dependencies are required:
- XQuartz: https://www.xquartz.org/releases/XQuartz-2.7.11.html - XQuartz: https://www.xquartz.org/releases/XQuartz-2.7.11.html
- Tcl: https://prdownloads.sourceforge.net/tcl/tcl8.6.10-src.tar.gz - Tcl: https://prdownloads.sourceforge.net/tcl/tcl8.6.10-src.tar.gz
- Tk: https://prdownloads.sourceforge.net/tcl/tk8.6.10-src.tar.gz - Tk: https://prdownloads.sourceforge.net/tcl/tk8.6.10-src.tar.gz
The first step is to install XQuartz and then compile Tcl and Tk. Nothing special on compiling these two, but The first step is to install XQuartz and then compile Tcl and Tk. Nothing special on compiling these two, but
we need to specify the X libraries from XQuartz when compiling Tk. Let's use the path we need to specify the X libraries from XQuartz when compiling Tk. Let's use the path
/usr/local/opt/tcl-tk as destination folder. /usr/local/opt/tcl-tk as destination folder.
## Tcl compilation ## Tcl compilation
Extract the Tcl sources and then go to the unix folder: Extract the Tcl sources and then go to the unix folder:
cd <extracted-folder>/unix `cd <extracted-folder>/unix`
./configure --prefix=/usr/local/opt/tcl-tk `./configure --prefix=/usr/local/opt/tcl-tk`
make `make`
make install `make install`
Tk compilati on
## Tk compilation
Same procedure as Tcl, but we need to specificy the Tcl and X libraries paths. XQuartz is installed on Same procedure as Tcl, but we need to specificy the Tcl and X libraries paths. XQuartz is installed on
/opt/X11 , so we do: /opt/X11 , so we do:
cd <extracted-folder>/unix `cd <extracted-folder>/unix`
./configure --prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl- `./configure --prefix=/usr/local/opt/tcl-tk \
tk/lib --with-x --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib --with-tcl=/usr/local/opt/tcl-tk/lib --with-x \
make --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib`
make install `make`
xschem compilati on `make install`
##xschem compilation
Besides referencing the X libraries, we need to also point to the Tcl/Tk installation path. Let's use a recent Besides referencing the X libraries, we need to also point to the Tcl/Tk installation path. Let's use a recent
xschem repository and install it on ~/xschem-macos (adapt this to your username): xschem repository and install it on ~/xschem-macos (adapt this to your username):
git clone https://github.com/StefanSchippers/xschem.git `git clone https://github.com/StefanSchippers/xschem.git`
cd xschem `cd xschem`
./configure --prefix=/Users/$(whoami)/xschem-macos `./configure --prefix=/Users/$(whoami)/xschem-macos`
1 / 2README.md
12/8/2020 Before building the application, we need to adjust `Makefile.conf` because the current configure
Before running compile the application, we need to adjust Makefile.conf because the current configure
script doesn't support custom flags. So we need to replace the CFLAGS and LDFLAGS variables in that file script doesn't support custom flags. So we need to replace the CFLAGS and LDFLAGS variables in that file
as below: as below:
CFLAGS=-I/opt/X11/include -I/opt/X11/include/cairo -I/usr/local/opt/tcl- `CFLAGS=-I/opt/X11/include -I/opt/X11/include/cairo \
tk/include -O2 -I/usr/local/opt/tcl-tk/include -O2
LDFLAGS=-L/opt/X11/lib -L/usr/local/opt/tcl-tk/lib -lm -lcairo -lX11 - LDFLAGS=-L/opt/X11/lib -L/usr/local/opt/tcl-tk/lib -lm -lcairo \
lXrender -lxcb -lxcb-render -lX11-xcb -lXpm -ltcl8.6 -ltk8.6 -lX11 -lXrender -lxcb -lxcb-render -lX11-xcb -lXpm -ltcl8.6 -ltk8.6`
Finally, we compile and install the application.
make Finally, we compile and install the application.
make install `make
make install`
The application will be placed in /Users/$(whoami)/xschem-macos/bin and can be started with The application will be placed in /Users/$(whoami)/xschem-macos/bin and can be started with
./xschem in that folder. ./xschem in that folder.