Remote changes at Fri Sep 1 14:41:47 EDT 2017 by chuan on vivaldi

This commit is contained in:
Chuan Chen 2017-09-01 14:41:47 -04:00
parent 37e7b7ffeb
commit 1bda1206db
15 changed files with 4047 additions and 92 deletions

1236
database/database.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -6,9 +6,9 @@
# Be aware that running scripts/configure again will overwrite
# any changes!
SHELL = /bin/sh
SHELL = /bin/bash
prefix = /home/tim/cad
prefix = /home/chuan/Desktop/magic_install
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
libdir = ${exec_prefix}/lib
@ -16,7 +16,7 @@ mandir = ${prefix}/share/man
SCRIPTS = ${MAGICDIR}/scripts
INSTALL = /bin/install -c
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_SCRIPT = ${INSTALL}
@ -49,15 +49,15 @@ CP = cp
AR = ar
ARFLAGS = crv
LINK = ld -r
LD = /bin/ld
M4 = /bin/m4
LD = /usr/bin/ld
M4 = /usr/bin/m4
MCPP = ${MAGICDIR}/scripts/preproc.py
SCPP = gcc -E -x c
RANLIB = ranlib
SHDLIB_EXT = .so
LDDL_FLAGS = ${LDFLAGS} -shared -Wl,-soname,$@ -Wl,--version-script=${MAGICDIR}/magic/symbol.map
LD_RUN_PATH =
LIB_SPECS = -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6
LIB_SPECS = -L/usr/lib/x86_64-linux-gnu -ltk8.6 -L/usr/lib/x86_64-linux-gnu -ltcl8.6
WISH_EXE = /usr/bin/wish
TCL_LIB_DIR = /usr/lib
MAGIC_VERSION = 8.2
@ -68,9 +68,9 @@ CPP = gcc -E
CXX = g++
CPPFLAGS = -I. -I${MAGICDIR}
DFLAGS = -DCAD_DIR=\"${LIBDIR}\" -DBIN_DIR=\"${BINDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DMAGIC_VERSION=\"8.2\" -DMAGIC_REVISION=\"19\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_SYS_MMAN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_PATHS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DFILE_LOCKS=1 -DCALMA_MODULE=1 -DCIF_MODULE=1 -DX11_BACKING_STORE=1 -DPLOT_MODULE=1 -DLEF_MODULE=1 -DROUTE_MODULE=1 -DUSE_NEW_MACROS=1 -DVECTOR_FONTS=1 -DHAVE_LIBCAIRO=1 -DMAGIC_WRAPPER=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DNDEBUG -DGCORE=\"/bin/gcore\"
DFLAGS = -DCAD_DIR=\"${LIBDIR}\" -DBIN_DIR=\"${BINDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DMAGIC_VERSION=\"8.2\" -DMAGIC_REVISION=\"19\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_SYS_MMAN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_PATHS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DFILE_LOCKS=1 -DCALMA_MODULE=1 -DCIF_MODULE=1 -DX11_BACKING_STORE=1 -DPLOT_MODULE=1 -DLEF_MODULE=1 -DROUTE_MODULE=1 -DUSE_NEW_MACROS=1 -DVECTOR_FONTS=1 -DHAVE_LIBCAIRO=1 -DMAGIC_WRAPPER=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DNDEBUG -DGCORE=\"/usr/bin/gcore\"
DFLAGS += -DSHDLIB_EXT=\".so\"
CFLAGS = -g -m64 -fPIC -Wimplicit-int -fPIC
CFLAGS = -g -m64 -fPIC -Wimplicit-int -fPIC -I/usr/include/tcl8.6/tk-private/generic -I/usr/include/tcl8.6
READLINE_DEFS =
READLINE_LIBS =

57
install.log Normal file
View File

@ -0,0 +1,57 @@
make[1]: Entering directory `/home/chuan/Desktop/magic-8.2'
./scripts/mkdirs /home/tim/cad/bin /home/tim/cad/share/man \
/home/tim/cad/lib/magic/sys /home/tim/cad/lib/magic/tcl /home/tim/cad/lib/magic/tcl/bitmaps
mkdir /home/tim
mkdir /home/tim/cad
mkdir /home/tim/cad/bin
mkdir /home/tim
mkdir /home/tim/cad
mkdir /home/tim/cad/share
mkdir /home/tim/cad/share/man
mkdir /home/tim
mkdir /home/tim/cad
mkdir /home/tim/cad/lib
mkdir /home/tim/cad/lib/magic
mkdir /home/tim/cad/lib/magic/sys
mkdir /home/tim
mkdir /home/tim/cad
mkdir /home/tim/cad/lib
mkdir /home/tim/cad/lib/magic
mkdir /home/tim/cad/lib/magic/tcl
mkdir /home/tim
mkdir /home/tim/cad
mkdir /home/tim/cad/lib
mkdir /home/tim/cad/lib/magic
mkdir /home/tim/cad/lib/magic/tcl
mkdir /home/tim/cad/lib/magic/tcl/bitmaps
for dir in windows doc scmos graphics tcltk magic net2ir tcltk; do \
(cd $dir && make install-tcl); done
make[2]: Entering directory `/home/chuan/Desktop/magic-8.2/windows'
--- installing glyphs to /home/tim/cad/lib/magic/sys
for i in windows7.glyphs windows11.glyphs windows14.glyphs windows22.glyphs vfont.B.12 vfont.I.12 vfont.R.8; do \
(cd /home/tim/cad/lib/magic/sys && rm -f $i); \
cp $i /home/tim/cad/lib/magic/sys; done
make[2]: Leaving directory `/home/chuan/Desktop/magic-8.2/windows'
make[2]: Entering directory `/home/chuan/Desktop/magic-8.2/doc'
cd latexfiles && make install
make[3]: Entering directory `/home/chuan/Desktop/magic-8.2/doc/latexfiles'
../../scripts/mkdirs /home/tim/cad/lib/magic/doc
mkdir /home/tim
mkdir /home/tim/cad
mkdir /home/tim/cad/lib
mkdir /home/tim/cad/lib/magic
mkdir /home/tim/cad/lib/magic/doc
cp ../psfiles/tut1.ps /home/tim/cad/lib/magic/doc/tut1.ps
make[3]: Leaving directory `/home/chuan/Desktop/magic-8.2/doc/latexfiles'
make[2]: Leaving directory `/home/chuan/Desktop/magic-8.2/doc'
make[2]: Entering directory `/home/chuan/Desktop/magic-8.2/scmos'
/bin/m4 minimum.tech.in > minimum.tech
make[2]: Leaving directory `/home/chuan/Desktop/magic-8.2/scmos'
make[2]: Entering directory `/home/chuan/Desktop/magic-8.2/graphics'
for i in bw.glyphs color.glyphs; do \
rm -f /home/tim/cad/lib/magic/sys/$i; \
cp $i /home/tim/cad/lib/magic/sys; done
make[2]: Leaving directory `/home/chuan/Desktop/magic-8.2/graphics'
make[2]: Entering directory `/home/chuan/Desktop/magic-8.2/tcltk'
gcc -g -m64 -fPIC -Wimplicit-int -fPIC -I. -I.. -DCAD_DIR=\"/home/tim/cad/lib\" -DBIN_DIR=\"/home/tim/cad/bin\" -DTCL_DIR=\"/home/tim/cad/lib/magic/tcl\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DMAGIC_VERSION=\"8.2\" -DMAGIC_REVISION=\"19\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_SYS_MMAN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_PATHS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DFILE_LOCKS=1 -DCALMA_MODULE=1 -DCIF_MODULE=1 -DX11_BACKING_STORE=1 -DPLOT_MODULE=1 -DLEF_MODULE=1 -DROUTE_MODULE=1 -DUSE_NEW_MACROS=1 -DVECTOR_FONTS=1 -DHAVE_LIBCAIRO=1 -DMAGIC_WRAPPER=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DNDEBUG -DGCORE=\"/bin/gcore\" -DSHDLIB_EXT=\".so\" -DMAGIC_DATE="\"`date`\"" magicexec.c \
-o magicexec -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6

2085
make.log Normal file

File diff suppressed because it is too large Load Diff

1
readline/readline Symbolic link
View File

@ -0,0 +1 @@
readline-4.3

0
scmos/minimum.tech Normal file
View File

View File

@ -4,22 +4,22 @@ running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --without-opengl --prefix=/home/tim/cad
$ ./configure --prefix=/home/chuan/Desktop/magic_install --without-opengl
## --------- ##
## Platform. ##
## --------- ##
hostname = stravinsky
hostname = ubuntu
uname -m = x86_64
uname -r = 4.1.13-100.fc21.x86_64
uname -r = 3.19.0-25-generic
uname -s = Linux
uname -v = #1 SMP Tue Nov 10 13:13:20 UTC 2015
uname -v = #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015
/usr/bin/uname -p = x86_64
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = x86_64
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
@ -27,12 +27,14 @@ uname -v = #1 SMP Tue Nov 10 13:13:20 UTC 2015
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: .
PATH: /bin
PATH: /sbin
PATH: /usr/bin
PATH: /usr/sbin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /usr/local/games
## ----------- ##
@ -46,12 +48,12 @@ configure:2531: result: x86_64-unknown-linux-gnu
configure:2551: checking target system type
configure:2564: result: x86_64-unknown-linux-gnu
configure:2656: checking for gcc
configure:2672: found /bin/gcc
configure:2672: found /usr/bin/gcc
configure:2683: result: gcc
configure:2912: checking for C compiler version
configure:2921: gcc --version >&5
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
Copyright (C) 2014 Free Software Foundation, Inc.
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@ -59,11 +61,11 @@ configure:2932: $? = 0
configure:2921: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configure:2932: $? = 0
configure:2921: gcc -V >&5
gcc: error: unrecognized command line option '-V'
@ -150,12 +152,12 @@ configure: failed program was:
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:3592: checking for g++
configure:3608: found /bin/g++
configure:3608: found /usr/bin/g++
configure:3619: result: g++
configure:3646: checking for C++ compiler version
configure:3655: g++ --version >&5
g++ (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
Copyright (C) 2014 Free Software Foundation, Inc.
g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@ -163,11 +165,11 @@ configure:3666: $? = 0
configure:3655: g++ -v >&5
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configure:3666: $? = 0
configure:3655: g++ -V >&5
g++: error: unrecognized command line option '-V'
@ -192,24 +194,24 @@ configure:3823: gcc -o conftest -g conftest.c >&5
configure:3823: $? = 0
configure:3840: result: none required
configure:3862: checking for a BSD-compatible install
configure:3930: result: /bin/install -c
configure:3930: result: /usr/bin/install -c
configure:3984: checking for ranlib
configure:4000: found /bin/ranlib
configure:4000: found /usr/bin/ranlib
configure:4011: result: ranlib
configure:4038: checking for gm4
configure:4071: result: no
configure:4038: checking for gnum4
configure:4071: result: no
configure:4038: checking for m4
configure:4056: found /bin/m4
configure:4068: result: /bin/m4
configure:4056: found /usr/bin/m4
configure:4068: result: /usr/bin/m4
configure:4086: checking for python3
configure:4104: found /bin/python3
configure:4117: result: /bin/python3
configure:4104: found /usr/bin/python3
configure:4117: result: /usr/bin/python3
configure:4162: checking for ld used by GCC
configure:4225: result: /bin/ld
configure:4232: checking if the linker (/bin/ld) is GNU ld
GNU ld version 2.24
configure:4225: result: /usr/bin/ld
configure:4232: checking if the linker (/usr/bin/ld) is GNU ld
GNU ld (GNU Binutils for Ubuntu) 2.24
configure:4244: result: yes
configure:4251: checking for grep that handles long lines and -e
configure:4309: result: /bin/grep
@ -551,12 +553,14 @@ configure:5118: gcc -o conftest -g conftest.c >&5
configure:5118: $? = 0
configure:5127: result: yes
configure:5342: checking for gcore
configure:5360: found /bin/gcore
configure:5373: result: /bin/gcore
configure:5360: found /usr/bin/gcore
configure:5373: result: /usr/bin/gcore
configure:5385: checking for csh
configure:5403: found /bin/csh
configure:5416: result: /bin/csh
configure:5430: checking for X
configure:5538: gcc -E conftest.c
configure:5538: $? = 0
configure:5569: gcc -o conftest -g conftest.c -lX11 >&5
configure:5569: $? = 0
configure:5619: result: libraries , headers
@ -584,20 +588,122 @@ configure:6094: $? = 0
configure:6103: result: yes
configure:6139: checking for XOpenDevice in -lXi
configure:6164: gcc -o conftest -g conftest.c -lXi >&5
configure:6164: $? = 0
configure:6173: result: yes
/usr/bin/ld: cannot find -lXi
collect2: error: ld returned 1 exit status
configure:6164: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define MAGIC_VERSION "8.2"
| #define MAGIC_REVISION "19"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define SIZEOF_VOID_P 8
| #define SIZEOF_UNSIGNED_INT 4
| #define SIZEOF_UNSIGNED_LONG 8
| #define SIZEOF_UNSIGNED_LONG_LONG 8
| #define STDC_HEADERS 1
| #define HAVE_SETENV 1
| #define HAVE_PUTENV 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_DIRENT_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_PATHS_H 1
| #define HAVE_VA_COPY 1
| #define HAVE___VA_COPY 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char XOpenDevice ();
| int
| main ()
| {
| return XOpenDevice ();
| ;
| return 0;
| }
configure:6173: result: no
configure:6179: checking for XmuInternAtom in -lXmu
configure:6204: gcc -o conftest -g conftest.c -lXmu >&5
configure:6204: $? = 0
configure:6213: result: yes
/usr/bin/ld: cannot find -lXmu
collect2: error: ld returned 1 exit status
configure:6204: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define MAGIC_VERSION "8.2"
| #define MAGIC_REVISION "19"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define SIZEOF_VOID_P 8
| #define SIZEOF_UNSIGNED_INT 4
| #define SIZEOF_UNSIGNED_LONG 8
| #define SIZEOF_UNSIGNED_LONG_LONG 8
| #define STDC_HEADERS 1
| #define HAVE_SETENV 1
| #define HAVE_PUTENV 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_DIRENT_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_PATHS_H 1
| #define HAVE_VA_COPY 1
| #define HAVE___VA_COPY 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char XmuInternAtom ();
| int
| main ()
| {
| return XmuInternAtom ();
| ;
| return 0;
| }
configure:6213: result: no
configure:6219: checking for XextFindDisplay in -lXext
configure:6244: gcc -o conftest -g conftest.c -lXext >&5
configure:6244: $? = 0
configure:6253: result: yes
configure:6333: checking for tclConfig.sh
configure:6407: result: /usr/lib64/tclConfig.sh
configure:6407: result: /usr/lib/tcl8.6/tclConfig.sh
configure:6423: checking for tkConfig.sh
configure:6496: result: /usr/lib64/tkConfig.sh
configure:6496: result: /usr/lib/tk8.6/tkConfig.sh
configure:6630: checking for wish executable
configure:6658: result: /usr/bin/wish
configure:6664: checking for tclsh executable
@ -631,7 +737,7 @@ generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_COMMANDS =
$ ./config.status
on stravinsky
on ubuntu
config.status:799: creating defs.mak
config.status:902: WARNING: 'defs.mak.in' seems to ignore the --datarootdir setting
@ -699,18 +805,18 @@ ac_cv_header_unistd_h=yes
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_lib_ICE_IceConnectionNumber=yes
ac_cv_lib_Xext_XextFindDisplay=yes
ac_cv_lib_Xi_XOpenDevice=yes
ac_cv_lib_Xmu_XmuInternAtom=yes
ac_cv_lib_Xi_XOpenDevice=no
ac_cv_lib_Xmu_XmuInternAtom=no
ac_cv_lib_cairo_cairo_user_to_device=yes
ac_cv_objext=o
ac_cv_path_CSH=/bin/csh
ac_cv_path_EGREP='/bin/grep -E'
ac_cv_path_GCORE=/bin/gcore
ac_cv_path_GCORE=/usr/bin/gcore
ac_cv_path_GREP=/bin/grep
ac_cv_path_LD=/bin/ld
ac_cv_path_M4=/bin/m4
ac_cv_path_PYTHON3=/bin/python3
ac_cv_path_install='/bin/install -c'
ac_cv_path_LD=/usr/bin/ld
ac_cv_path_M4=/usr/bin/m4
ac_cv_path_PYTHON3=/usr/bin/python3
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_CXX=g++
@ -746,22 +852,22 @@ ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
EXTRA_LIB_SPECS='-ldl'
GCORE='/bin/gcore'
GCORE='/usr/bin/gcore'
GREP='/bin/grep'
INC_SPECS=''
INC_SPECS=' -I/usr/include/tcl8.6/tk-private/generic -I/usr/include/tcl8.6'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_TARGET='install-tcl'
LD='/bin/ld'
LD='/usr/bin/ld'
LDDL_FLAGS='-shared -Wl,-soname,$@ -Wl,--version-script=${MAGICDIR}/magic/symbol.map'
LDFLAGS=''
LD_RUN_PATH=''
LIBOBJS=''
LIBS='-lcairo '
LIB_SPECS=' -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6'
LIB_SPECS=' -L/usr/lib/x86_64-linux-gnu -ltk8.6 -L/usr/lib/x86_64-linux-gnu -ltcl8.6'
LTLIBOBJS=''
M4='/bin/m4'
M4='/usr/bin/m4'
MAGIC_REVISION='19'
MAGIC_VERSION='8.2'
MCPP='${MAGICDIR}/scripts/preproc.py'
@ -776,12 +882,12 @@ PACKAGE_TARNAME=''
PACKAGE_URL=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PYTHON3='/bin/python3'
PYTHON3='/usr/bin/python3'
RANLIB='ranlib'
SCPP='gcc -E -x c'
SCRIPTS=''
SHDLIB_EXT='.so'
SHELL='/bin/sh'
SHELL='/bin/bash'
SHLIB_CFLAGS='-Wimplicit-int -fPIC'
SHLIB_LD=''
SHLIB_LIB_SPECS=''
@ -833,7 +939,7 @@ mandir='${datarootdir}/man'
modules=' ext2sim ext2spice calma cif plot lef garouter grouter irouter mzrouter router gcr tcltk'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/home/tim/cad'
prefix='/home/chuan/Desktop/magic_install'
program_transform_name='s,x,x,'
programs=' net2ir tcltk'
psdir='${docdir}'

View File

@ -1,4 +1,4 @@
#! /bin/sh
#! /bin/bash
# Generated by configure.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
@ -8,7 +8,7 @@ debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=${CONFIG_SHELL-/bin/sh}
SHELL=${CONFIG_SHELL-/bin/bash}
export SHELL
## -------------------- ##
## M4sh Initialization. ##
@ -417,7 +417,7 @@ $config_files
Report bugs to the package provider."
ac_cs_config="'--without-opengl' '--prefix=/home/tim/cad' 'CFLAGS=-g'"
ac_cs_config="'--prefix=/home/chuan/Desktop/magic_install' '--without-opengl' 'CFLAGS=-g'"
ac_cs_version="\
config.status
configured by ./configure, generated by GNU Autoconf 2.69,
@ -427,9 +427,9 @@ Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='/home/tim/gitsrc/magic-8.2/scripts'
ac_pwd='/home/chuan/Desktop/magic-8.2/scripts'
srcdir='..'
INSTALL='/bin/install -c'
INSTALL='/usr/bin/install -c'
test -n "$AWK" || AWK=awk
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
@ -496,10 +496,10 @@ if $ac_cs_silent; then
fi
if $ac_cs_recheck; then
set X /bin/sh './configure' '--without-opengl' '--prefix=/home/tim/cad' 'CFLAGS=-g' $ac_configure_extra_args --no-create --no-recursion
set X /bin/bash './configure' '--prefix=/home/chuan/Desktop/magic_install' '--without-opengl' 'CFLAGS=-g' $ac_configure_extra_args --no-create --no-recursion
shift
$as_echo "running CONFIG_SHELL=/bin/sh $*" >&6
CONFIG_SHELL='/bin/sh'
$as_echo "running CONFIG_SHELL=/bin/bash $*" >&6
CONFIG_SHELL='/bin/bash'
export CONFIG_SHELL
exec "$@"
fi
@ -620,12 +620,12 @@ S["gr_libs"]=" -lX11 -lcairo -lfontconfig -lfreetype"
S["TCL_LIB_DIR"]="/usr/lib"
S["TCLSH_EXE"]="/usr/bin/tclsh"
S["WISH_EXE"]="/usr/bin/wish"
S["LIB_SPECS"]=" -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6"
S["INC_SPECS"]=""
S["LIB_SPECS"]=" -L/usr/lib/x86_64-linux-gnu -ltk8.6 -L/usr/lib/x86_64-linux-gnu -ltcl8.6"
S["INC_SPECS"]=" -I/usr/include/tcl8.6/tk-private/generic -I/usr/include/tcl8.6"
S["EXTRA_LIB_SPECS"]="-ldl"
S["SHLIB_LIB_SPECS"]=""
S["LDDL_FLAGS"]="-shared -Wl,-soname,$@ -Wl,--version-script=${MAGICDIR}/magic/symbol.map"
S["LD"]="/bin/ld"
S["LD"]="/usr/bin/ld"
S["SHLIB_LD"]=""
S["SHDLIB_EXT"]=".so"
S["X_EXTRA_LIBS"]=""
@ -634,11 +634,11 @@ S["X_PRE_LIBS"]=" -lSM -lICE"
S["X_CFLAGS"]=""
S["XMKMF"]=""
S["CSH"]="/bin/csh"
S["GCORE"]="/bin/gcore"
S["GCORE"]="/usr/bin/gcore"
S["EGREP"]="/bin/grep -E"
S["GREP"]="/bin/grep"
S["PYTHON3"]="/bin/python3"
S["M4"]="/bin/m4"
S["PYTHON3"]="/usr/bin/python3"
S["M4"]="/usr/bin/m4"
S["RANLIB"]="ranlib"
S["INSTALL_DATA"]="${INSTALL} -m 644"
S["INSTALL_SCRIPT"]="${INSTALL}"
@ -699,7 +699,7 @@ S["libexecdir"]="${exec_prefix}/libexec"
S["sbindir"]="${exec_prefix}/sbin"
S["bindir"]="${exec_prefix}/bin"
S["program_transform_name"]="s,x,x,"
S["prefix"]="/home/tim/cad"
S["prefix"]="/home/chuan/Desktop/magic_install"
S["exec_prefix"]="${prefix}"
S["PACKAGE_URL"]=""
S["PACKAGE_BUGREPORT"]=""
@ -708,7 +708,7 @@ S["PACKAGE_VERSION"]=""
S["PACKAGE_TARNAME"]=""
S["PACKAGE_NAME"]=""
S["PATH_SEPARATOR"]=":"
S["SHELL"]="/bin/sh"
S["SHELL"]="/bin/bash"
_ACAWK
cat >>"$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1

View File

@ -6,9 +6,9 @@
# Be aware that running scripts/configure again will overwrite
# any changes!
SHELL = /bin/sh
SHELL = /bin/bash
prefix = /home/tim/cad
prefix = /home/chuan/Desktop/magic_install
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
libdir = ${exec_prefix}/lib
@ -16,7 +16,7 @@ mandir = ${prefix}/share/man
SCRIPTS = ${MAGICDIR}/scripts
INSTALL = /bin/install -c
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_SCRIPT = ${INSTALL}
@ -49,15 +49,15 @@ CP = cp
AR = ar
ARFLAGS = crv
LINK = ld -r
LD = /bin/ld
M4 = /bin/m4
LD = /usr/bin/ld
M4 = /usr/bin/m4
MCPP = ${MAGICDIR}/scripts/preproc.py
SCPP = gcc -E -x c
RANLIB = ranlib
SHDLIB_EXT = .so
LDDL_FLAGS = ${LDFLAGS} -shared -Wl,-soname,$@ -Wl,--version-script=${MAGICDIR}/magic/symbol.map
LD_RUN_PATH =
LIB_SPECS = -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6
LIB_SPECS = -L/usr/lib/x86_64-linux-gnu -ltk8.6 -L/usr/lib/x86_64-linux-gnu -ltcl8.6
WISH_EXE = /usr/bin/wish
TCL_LIB_DIR = /usr/lib
MAGIC_VERSION = 8.2
@ -68,9 +68,9 @@ CPP = gcc -E
CXX = g++
CPPFLAGS = -I. -I${MAGICDIR}
DFLAGS = -DCAD_DIR=\"${LIBDIR}\" -DBIN_DIR=\"${BINDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DMAGIC_VERSION=\"8.2\" -DMAGIC_REVISION=\"19\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_SYS_MMAN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_PATHS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DFILE_LOCKS=1 -DCALMA_MODULE=1 -DCIF_MODULE=1 -DX11_BACKING_STORE=1 -DPLOT_MODULE=1 -DLEF_MODULE=1 -DROUTE_MODULE=1 -DUSE_NEW_MACROS=1 -DVECTOR_FONTS=1 -DHAVE_LIBCAIRO=1 -DMAGIC_WRAPPER=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DNDEBUG -DGCORE=\"/bin/gcore\"
DFLAGS = -DCAD_DIR=\"${LIBDIR}\" -DBIN_DIR=\"${BINDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DMAGIC_VERSION=\"8.2\" -DMAGIC_REVISION=\"19\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_SYS_MMAN_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_PATHS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DFILE_LOCKS=1 -DCALMA_MODULE=1 -DCIF_MODULE=1 -DX11_BACKING_STORE=1 -DPLOT_MODULE=1 -DLEF_MODULE=1 -DROUTE_MODULE=1 -DUSE_NEW_MACROS=1 -DVECTOR_FONTS=1 -DHAVE_LIBCAIRO=1 -DMAGIC_WRAPPER=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DNDEBUG -DGCORE=\"/usr/bin/gcore\"
DFLAGS += -DSHDLIB_EXT=\".so\"
CFLAGS = -g -m64 -fPIC -Wimplicit-int -fPIC
CFLAGS = -g -m64 -fPIC -Wimplicit-int -fPIC -I/usr/include/tcl8.6/tk-private/generic -I/usr/include/tcl8.6
READLINE_DEFS =
READLINE_LIBS =

View File

@ -15,7 +15,7 @@ for i in $@; do
esac
done
#
eval /home/tim/cad/lib/magic/tcl/magicdnull -dnull -noconsole -nowrapper $mgargs <<EOF
eval /home/chuan/Desktop/magic_install/lib/magic/tcl/magicdnull -dnull -noconsole -nowrapper $mgargs <<EOF
drc off
box 0 0 0 0
ext2sim $esargs

View File

@ -15,7 +15,7 @@ for i in $@; do
esac
done
#
eval /home/tim/cad/lib/magic/tcl/magicdnull -dnull -noconsole -nowrapper $mgargs <<EOF
eval /home/chuan/Desktop/magic_install/lib/magic/tcl/magicdnull -dnull -noconsole -nowrapper $mgargs <<EOF
drc off
box 0 0 0 0
ext2spice $esargs

64
tcltk/magic.sh Normal file
View File

@ -0,0 +1,64 @@
#!/bin/bash
#
# For installation, put this file (magic.sh) in a known executable path.
# Put startup script "magic.tcl", shared library "tclmagic.so", and
# "wish" replacement "magicexec" in ${CAD_ROOT}/magic/tcl/.
#
# This script starts magic under the Tcl interpreter,
# reading commands from a special startup script which
# launches magic and retains the Tcl interactive interpreter.
# Parse for the argument "-c[onsole]". If it exists, run magic
# with the TkCon console. Strip this argument from the argument list.
TKCON=true
DNULL=
MAGIC_WISH=/usr/bin/wish
export MAGIC_WISH
# Hacks for Cygwin
if [ "`uname | cut -d_ -f1`" = "CYGWIN" ]; then
export PATH="$PATH:/usr/lib"
export DISPLAY=${DISPLAY:=":0"}
fi
# Preserve quotes in arguments
arglist=''
for i in "$@" ; do
case $i in
-noc*) TKCON=;;
-dnull) DNULL=true;;
--version) TKCON=; DNULL=true;;
--prefix) TKCON=; DNULL=true;;
*) arglist="$arglist${arglist:+ }\"${i//\"/\\\"}\"";;
esac
done
if [ $TKCON ]; then
if [ $DNULL ]; then
exec /home/chuan/Desktop/magic_install/lib/magic/tcl/tkcon.tcl -eval "source /home/chuan/Desktop/magic_install/lib/magic/tcl/console.tcl" \
-slave "set argc $#; set argv [list $*]; source /home/chuan/Desktop/magic_install/lib/magic/tcl/magic.tcl"
else
exec /home/chuan/Desktop/magic_install/lib/magic/tcl/tkcon.tcl -eval "source /home/chuan/Desktop/magic_install/lib/magic/tcl/console.tcl" \
-slave "package require Tk; set argc $#; set argv [list $arglist]; \
source /home/chuan/Desktop/magic_install/lib/magic/tcl/magic.tcl"
fi
else
#
# Run the stand-in for wish (magicexec), which acts exactly like "wish"
# except that it replaces ~/.wishrc with magic.tcl. This executable is
# *only* needed when running without the console; the console itself is
# capable of sourcing the startup script.
#
# With option "-dnull" we set up for operation without Tk (simple interpreter
# only, efficient for running in batch mode).
#
if [ $DNULL ]; then
exec /home/chuan/Desktop/magic_install/lib/magic/tcl/magicdnull -nowrapper "$@"
else
exec /home/chuan/Desktop/magic_install/lib/magic/tcl/magicexec -- "$@"
fi
fi

406
tcltk/magic.tcl Normal file
View File

@ -0,0 +1,406 @@
# Wishrc startup for ToolScript (magic)
#
# For installation: Put this file and also magicwrap.so into
# directory /home/chuan/Desktop/magic_install/lib/magic/tcl, and set the "load" line below
# to point to the location of magicwrap.so. Also see comments
# in shell script "magic.sh".
global Opts
# If we called magic via the non-console script, then we want to reset
# the environment variable HOME to its original value.
if {${tcl_version} >= 8.6} {
load -lazy /home/chuan/Desktop/magic_install/lib/magic/tcl/tclmagic.so
} else {
load /home/chuan/Desktop/magic_install/lib/magic/tcl/tclmagic.so
}
# It is important to make sure no magic commands overlap with Tcl built-in
# commands, because otherwise the namespace import will fail.
proc pushnamespace { name } {
set y [namespace eval ${name} info commands ::${name}::*]
set z [info commands]
# Watch especially for magic "wizard" commands, as we don't want to confuse
# the literal "*" with a regular expression *. "regsub" below takes care of it.
foreach v $y {
regsub -all {\*} $v {\\*} i
set x [namespace tail $i]
if {[lsearch $z $x] < 0} {
namespace import $i
}
}
}
proc popnamespace { name } {
set z [info commands]
set l [expr [string length ${name}] + 5]
while {[set v [lsearch $z ${name}_tcl_*]] >= 0} {
set y [lindex $z $v]
set w [string range $y $l end]
interp alias {} ::$w {}
rename ::$y ::$w
puts "Info: replacing ::$w with ::$y"
}
namespace forget ::${name}::*
}
#----------------------------------------------------------------------
# Define the drcstate procedure expected by the background DRC code.
proc magic::drcstate {option} {
# (Null proc---see wrapper.tcl for a useful version)
}
#-----------------------------------------------------------------
# Define these console routines so that they don't produce errors
# when Magic is run in batch mode
if {[catch {tkcon title}]} {
proc magic::suspendout {} {}
proc magic::resumeout {} {}
proc magic::dialog {} {}
proc magic::consolegeometry {} {}
proc magic::consolefocus {} {}
}
#----------------------------------------------------------------------
# Cross-Application section
#----------------------------------------------------------------------
# Check namespaces for existence of other applications
set UsingIRSIM 0
set UsingXCircuit 0
set UsingNetgen 0
set nlist [namespace children]
foreach i $nlist {
switch $i {
::irsim { set UsingIRSIM 1 }
::xcircuit { set UsingXCircuit 1 }
::netgen { set UsingNetgen 1 }
}
}
# Setup IRSIM assuming that the Tcl version is installed.
# We do not need to rename procedure irsim to NULL because it is
# redefined in a script, which simply overwrites the original.
proc irsim { args } {
global CAD_ROOT
set irsimscript [glob -nocomplain ${CAD_ROOT}/irsim/tcl/irsim.tcl]
if { ${irsimscript} == {} } {
puts stderr "\"irsim\" requires Tcl-based IRSIM version 9.6 or newer."
puts stderr "Could not find script \"irsim.tcl\". If IRSIM is installed in a"
puts stderr "place other than CAD_ROOT (=${CAD_ROOT}), use the command"
puts stderr "\"source <path>/irsim.tcl\" before doing \"irsim\"."
} else {
source $irsimscript
eval {irsim} $args
}
}
# Setup Xcircuit assuming that the Tcl version is installed.
proc xcircuit { args } {
global CAD_ROOT
global argc
global argv
set xcircscript [glob -nocomplain ${CAD_ROOT}/xcircuit*/xcircuit.tcl]
if { ${xcircscript} == {} } {
puts stderr "\"xcircuit\" requires Tcl-based XCircuit version 3.1 or newer."
puts stderr "Could not find script \"xcircuit.tcl\". If XCircuit is installed in a"
puts stderr "place other than CAD_ROOT (=${CAD_ROOT}), use the command"
puts stderr "\"source <path>/xcircuit.tcl\"."
} else {
# if there are multiple installed versions, choose the highest version.
if {[llength $xcircscript] > 1} {
set xcircscript [lindex [lsort -decreasing -dictionary $xcircscript] 0]
}
# execute script in the scope of magic, because its variable space is
# not modularized.
set argv $args
set argc [llength $args]
uplevel #0 source $xcircscript
}
}
# Setup Netgen assuming that the Tcl version is installed.
proc netgen { args } {
global CAD_ROOT
global argc
global argv
set netgenscript [glob -nocomplain ${CAD_ROOT}/netgen/tcl/netgen.tcl]
if { ${netgenscript} == {} } {
puts stderr "\"netgen\" requires Tcl-based Netgen version 1.2 or newer."
puts stderr "Could not find script \"netgen.tcl\". If Netgen is installed in a"
puts stderr "place other than CAD_ROOT (=${CAD_ROOT}), use the command"
puts stderr "\"source <path>/netgen.tcl\"."
} else {
set argv $args
set argc [llength $args]
uplevel #0 source $netgenscript
}
}
# Add the "echo" command
proc echo {args} {
puts stdout $args
}
# Parse argument list for "-c[onsole]" and "-now[rapper]".
set celllist {}
set do_wrapper true
set do_recover false
set argafter {magic::initialize}
set x {}
for {set i 0} {$i < $argc} {incr i 1} {
set x [lindex $argv $i]
#
# Command-line argument handling goes here
# We have to handle all of magic's command line arguments so we can
# figure out if a cell has been named for preloading.
#
switch -regexp -- $x {
^-now(rap)?(per)?$ { ;# This regexp accepts -now, -nowrap, and -nowrapper
set do_wrapper false
}
^-dnull {
set do_wrapper false
lappend argafter $x
}
^-r(e)?(cover)?$ {
set do_recover true
}
^-rc(file)?$ {
lappend argafter $x
incr i 1
lappend argafter [lindex $argv $i]
}
^-d -
^-g -
^-m -
^-i -
^-T {
lappend argafter $x
incr i 1
lappend argafter [lindex $argv $i]
}
^-F {
lappend argafter $x
incr i 1
lappend argafter [lindex $argv $i]
incr i 1
lappend argafter [lindex $argv $i]
}
^--version {
puts stdout "8.2.19"
exit 0
}
^--prefix {
puts stdout $CAD_ROOT
exit 0
}
^-D -
^-n* {
lappend argafter $x
}
default {
lappend celllist $x
lappend argafter $x
}
}
}
if {$do_wrapper} {
source ${CAD_ROOT}/magic/tcl/wrapper.tcl
lappend argafter "-nowindow" ;# Set no-initial-window option in magic.
}
unset x i do_wrapper
if {[catch {eval $argafter}]} { ;# magic::initialize ${argv}
exit 1
}
#----------------------------------------------------------------------
# Check for presence of padlist manager script and include it
if {[file exists ${CAD_ROOT}/magic/tcl/padlist.tcl]} {
source ${CAD_ROOT}/magic/tcl/padlist.tcl
set Opts(padlist) 0
}
#----------------------------------------------------------------------
# Check for presence of the miscellaneous tools script and include it
if {[file exists ${CAD_ROOT}/magic/tcl/tools.tcl]} {
source ${CAD_ROOT}/magic/tcl/tools.tcl
set Opts(tools) 0
}
#----------------------------------------------------------------------
# Check for presence of the mazerouter script and include it
if {[file exists ${CAD_ROOT}/magic/tcl/mazeroute.tcl]} {
source ${CAD_ROOT}/magic/tcl/mazeroute.tcl
set Opts(mazeroute) 0
}
#----------------------------------------------------------------------
# Check for presence of the toolkit script and include it
# NOTE: This supercedes the older toolkit which is now
# named toolkit_rev0.tcl, and the intermediate bsitools.tcl,
# which are folded into the newer toolkit.tcl.
if {[file exists ${CAD_ROOT}/magic/tcl/toolkit.tcl]} {
source ${CAD_ROOT}/magic/tcl/toolkit.tcl
set Opts(toolkit) 0
}
#----------------------------------------------------------------------
# Magic start function drops back to interpreter after initialization & setup
set auto_noexec 1 ;# don't EVER call UNIX commands w/o "shell" in front
# Have we called magic from tkcon or a clone thereof? If so, set MagicConsole
if {[lsearch [interp aliases] tkcon] != -1} {
set MagicConsole tkcon
catch {wm withdraw .}
# Get rid of some overlapping tkcon commands which are not needed.
if {[lsearch [info commands] orig_edit] < 0} {rename edit orig_edit}
if {[lsearch [info commands] orig_dump] < 0} {rename dump orig_dump}
if {[lsearch [info commands] orig_what] < 0} {rename what orig_what}
} else {
rename unknown tcl_unknown
proc unknown { args } {
# CAD tools special:
# Check for commands which were renamed to tcl_(command)
set cmd [lindex $args 0]
if {[lsearch [info commands] tcl_$cmd] >= 0} {
set arglist [concat tcl_$cmd [lrange $args 1 end]]
set ret [catch {eval $arglist} result]
if {$ret == 0} {
return $result
} else {
return -code $ret -errorcode $errorCode $result
}
}
return [eval [concat tcl_unknown $args]]
}
}
# Set up certain commands to act like they do in non-Tcl-based magic;
# These are the commands whose names have been extended so they don't
# conflict with existing Tcl/Tk commands. This renaming & importing
# *requires* the special code in the magic Tcl command dispatcher to
# find and deal with each of these renamed commands!
if {[lsearch [info commands] orig_clock] < 0} {rename clock orig_clock}
if {[lsearch [info commands] tcl_flush] < 0} {rename flush tcl_flush}
if {[lsearch [info commands] tcl_load] < 0} {rename load tcl_load}
if {[lsearch [info commands] tcl_array] < 0} {rename array tcl_array}
if {[lsearch [info commands] tcl_label] < 0} {catch {rename label tcl_label}}
if {[lsearch [info commands] tcl_grid] < 0} {catch {rename grid tcl_grid}}
namespace eval magic namespace export *
pushnamespace magic
#----------------------------------------------------------------------
# Read system startup files (mostly macro definitions)
# Read user startup file, if any
# Load initial cell, if any
magic::startup
if {![catch {set toptitle [wm title .]}]} {
if {[string range $toptitle 0 3] == "wish"} {
wm withdraw .
}
if {[string range $toptitle 0 8] == "magicexec"} {
wm withdraw .
}
unset toptitle
}
# After loading, magic will wander off and do a complete DRC check
# before executing the rest of the script unless we temporarily
# disable the DRC checker.
set drcstate [drc status]
drc off
# Initial window for wrapper, if defined.
# empty string is equivalent to passing NULL cell name.
#
# If a startup file has created a window, then don't make another one.
if {[info commands magic::openwrapper] != {}} {
if {[windownames layout] == {}} {
set winname [magic::openwrapper]
magic::techmanager initall
magic::scrollupdate $winname
foreach cellname $celllist {
set fext [file extension $cellname]
puts stdout "handling file entry $cellname extension $fext"
switch $fext {
.lef -
.LEF {lef read $cellname}
.def -
.DEF {def read $cellname}
.gds -
.GDS -
.gds2 -
.GDS2 -
.gdsii -
.GDSII {gds read $cellname}
.cif -
.CIF {cif read $cellname}
.tcl {source $cellname}
.mag -
"" {magic::load $cellname}
default {puts stderr "don't know how to load file $cellname"}
}
}
}
} else {
# Initial geometry handler for the default window, non-wrapper version
catch {wm geometry .magic1 ${Opts(geometry)}}
}
# Print the technology name and description
puts stdout "Using technology \"[tech name]\", version [lindex [tech version] 0]"
# Set a box, and set the view; if no cell has been loaded, choose a default
# view.
if {![box exists]} {
box 0 0 1 1 ;# create a unit box
}
if {[llength $celllist] > 0} {
view
} else {
view -9 -9 10 10
}
# The Tcl version handles the "-r" on the command line by calling
# command crash recover.
if {$do_recover} {crash recover}
# Unset global TCL variables so they don't conflict with magic nodes.
unset celllist nlist do_recover
if {$drcstate == 1} {
drc on
}
unset drcstate

BIN
tcltk/magicdnull Executable file

Binary file not shown.

BIN
tcltk/magicexec Executable file

Binary file not shown.