magic/graphics
Darryl L. Miles 4e967a4766 build: out-of-tree outlier Makefiles — full make + install
Fix the remaining non-standard Makefiles so a full out-of-tree
`../configure && make && make install` builds and installs a complete
magic TCL tree, sources read from the source tree, all outputs in the
build tree.

Shared linker/preprocessor paths (scripts/configure.in, regenerated
scripts/configure):
* --version-script=${MAGICDIR}/magic/symbol.map -> ${MAGICSRC}/... so
  every shared-library link (tclmagic.so, ...) finds the source map.
* MCPP preproc.py path ${MAGICDIR}/scripts -> ${MAGICSRC}/scripts.

Programs (built via tcllibrary, PROGRAMS = magic tcltk):
* magic/Makefile: proto.magicrc, magicWasm.o and the bitmaps/.initrc/
  magicps.pro install copies use $< / $(srcdir) instead of bare names.
* tcltk/Makefile: magicexec/magicdnull compile $<; the sed'd launcher
  scripts (magic.tcl/.sh, ext2spice.sh, ext2sim.sh) read $<; VERSION dep
  -> ${MAGICSRC}; install-tcl copies each TCL file from the build dir if
  present else $(srcdir) (magic.tcl is generated, the rest are source).

Techs (scmos):
* scmos/Makefile: SC_PP template include -> $(srcdir)/extract_template;
  tech-file inputs (scmos.tech.in, *.tech.in) via $(srcdir)/$< ; recurse
  into cif_template with mkdir + -f ${MAGICSRC}/scmos/cif_template/Makefile;
  install copies from build-or-$(srcdir).
* scmos/cif_template/Makefile: MKDIR -> ${MAGICSRC}/scripts/mkdirs;
  SC_CPP gains -I$(srcdir); cpp reads $(srcdir)/cif{in,out}.c so the .gen
  includes resolve; objs/ generated in the build tree.

Data-file installs (source files copied from $(srcdir)):
* graphics/Makefile: glyphs, outline fonts, and the X11 helper build.
* windows/Makefile: glyphs and vector fonts.
* doc/Makefile: recurse into man/tutcells/html/latexfiles build-aware;
  doc/man, doc/tutcells install with $< ; doc/html tars $(srcdir);
  doc/latexfiles reads pre-built PostScript from ${MAGICSRC}/doc/psfiles.

Verified out-of-tree (mkdir _build; cd _build; ../configure): `make`
returns rc=0 (33 module libs, tclmagic.so, magicexec/magicdnull, scmos
tech files + cif_template objs, proto.magicrc), and
`make install DESTDIR=...` returns rc=0 installing 376 files
(bin/magic, tcl/tclmagic.so, sys/ glyphs+fonts+techs+dstyles), with the
source tree left completely clean.

Not exercised by the default TCL build/install and therefore not
converted here: the standalone .so/program variants of
lef/plot/router/ext2spice/ext2sim (their module libs do build), the
disabled oa module (-I. -> -I$(srcdir) still needed if enabled), the
WASM path, and doc/latexfiles PostScript *regeneration* (which still
writes into the source psfiles dir).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-26 14:54:11 -04:00
..
cairo_new Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
cairo_orig graphics/cairo_orig/grTCairo5.c uninitialized local variable 2024-10-01 12:36:13 -04:00
DEFAULT.glyphs Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
FreeMono.pt3 Remove all the $XXX: YYY$ 2020-05-23 17:00:38 -04:00
FreeSans.pt3 Remove all the $XXX: YYY$ 2020-05-23 17:00:38 -04:00
FreeSerif.pt3 Remove all the $XXX: YYY$ 2020-05-23 17:00:38 -04:00
Makefile build: out-of-tree outlier Makefiles — full make + install 2026-07-26 14:54:11 -04:00
README.X10a Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
READ_ME Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
W3Dmain.c Reworked the way that magic displays measurement values (both linear 2026-01-24 16:19:12 -05:00
X11Helper.c Use HAVE_SYS_TIME_H and TIME_WITH_SYS_TIME from autoconf where possible 2025-07-27 12:43:04 -04:00
bw.glyphs Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
color.glyphs Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
glyphs.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
grCMap.c CodeQL File{MayNot,Never}BeClosed.ql file-handle resource leaks 2025-02-22 21:02:49 -05:00
grClip.c First cut of pulling the TT_SIDE bit out of the tile database 2026-01-09 12:05:03 -05:00
grDStyle.c freeMagic1() idiom insertion at all sites reported by static code analysis 2025-12-19 09:31:58 -05:00
grGlyphs.c CodeQL InconsistentNullnessTest.ql ourgl != NULL 2025-02-22 21:31:22 -05:00
grLock.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
grMain.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grNull.c graphics/grNull.c: typed no-op stubs for WASM call_indirect 2026-05-11 14:20:47 -04:00
grOGL1.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grOGL2.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
grOGL3.c grX11su3.c: warning for ClientData compare 2025-10-04 20:50:31 -04:00
grOGL4.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grOGL5.c graphics: multiple definition of `various_x11_symbols' 2024-10-09 20:35:19 -04:00
grOGLInt.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
grTCairo1.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grTCairo2.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
grTCairo3.c fix GrTextSizePtr API interface return type consistency 2025-07-27 12:45:51 -04:00
grTCairo4.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grTCairo5.c 38 x warning: suggest parentheses around assignment used as truth value 2024-10-09 21:12:55 -04:00
grTCairoInt.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
grTOGL1.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grTOGL2.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
grTOGL3.c fix GrTextSizePtr API interface return type consistency 2025-07-27 12:45:51 -04:00
grTOGL4.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grTOGL5.c 38 x warning: suggest parentheses around assignment used as truth value 2024-10-09 21:12:55 -04:00
grTOGLInt.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
grText.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
grTk1.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grTk2.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
grTk3.c fix GrTextSizePtr API interface return type consistency 2025-07-27 12:45:51 -04:00
grTk4.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grTk5.c 38 x warning: suggest parentheses around assignment used as truth value 2024-10-09 21:12:55 -04:00
grTkCommon.c gtTkCommon.c: SUPPORT_DIRECT_MALLOC around function pointer use of legacy malloc 2025-12-19 09:31:58 -05:00
grTkCommon.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
grTkInt.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
grX11Int.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
grX11su1.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grX11su2.c C99 code compat when configured with no TCL support 2022-10-29 06:07:46 +02:00
grX11su3.c graphics: cleanup various warnings 2025-10-04 20:50:31 -04:00
grX11su4.c utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
grX11su5.c graphics: cleanup various warnings 2025-10-04 20:50:31 -04:00
grX11thread.c C99 code compat when configured with no TCL support 2022-10-29 06:07:46 +02:00
graphics.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
graphicsInt.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
prcolors.c Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
wind3d.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00

README.X10a

This driver is a modification of the Stanford X10 driver.  The modifications
were done by Walter Scott and Eric Lunow at Lawrence Livermore National Labs.