1# The official designated locations are:
2#
3# 4# 5# 6# 7# 8# 9#
10# The above bin directory only needs:
11#
12# luametatex[.exe]
13# context[.exe] -> luametatex[.exe]
14# mtxrun[.exe] -> luametatex[.exe]
15# mtxrun.lua (latest version)
16# context.lua (latest version)
17
18# This test is not yet okay but I have no time (or motivation) to look into it now, so for now we don't
19# use ninja (not that critical).
20
21#NINJA=$(which ninja);
22#if (NINJA) then
23# NINJA="-G Ninja"
24#else
25 NINJA=""
26#fi
27
28if [ "$1" = "mingw-64" ] || [ "$1" = "mingw64" ] || [ "$1" = "mingw" ] || [ "$1" == "--mingw64" ]
29then
30
31 PLATFORM="win64"
32 SUFFIX=".exe"
33 mkdir -p build/mingw-64
34 cd build/mingw-64
35 cmake $NINJA -DCMAKE_TOOLCHAIN_FILE=./cmake/mingw-64.cmake ../..
36
37elif [ "$1" = "mingw-32" ] || [ "$1" = "mingw32" ] || [ "$1" == "--mingw32" ]
38then
39
40 PLATFORM="mswin"
41 SUFFIX=".exe"
42 mkdir -p build/mingw-32
43 cd build/mingw-32
44 cmake $NINJA -DCMAKE_TOOLCHAIN_FILE=./cmake/mingw-32.cmake ../..
45
46elif [ "$1" = "mingw-64-ucrt" ] || [ "$1" = "mingw64ucrt" ] || [ "$1" = "--mingw64ucrt" ] || [ "$1" = "ucrt" ] || [ "$1" = "--ucrt" ]
47then
48
49 PLATFORM="win64"
50 SUFFIX=".exe"
51 mkdir -p build/mingw-64-ucrt
52 cd build/mingw-64-ucrt
53 cmake $NINJA -DCMAKE_TOOLCHAIN_FILE=./cmake/mingw-64-ucrt.cmake ../..
54
55
56elif [ "$1" = "cygwin" ] || [ "$1" = "--cygwin" ]
57then
58
59 PLATFORM="cygwin"
60 SUFFIX=".exe"
61 mkdir -p build/cygwin
62 cd build/cygwin
63 cmake $NINJA ../..
64
65elif [ "$1" = "osx-arm" ] || [ "$1" = "osxarm" ] || [ "$1" = "--osx-arm" ] || [ "$1" = "--osxarm" ]
66then
67
68 PLATFORM="osx-arm"
69 SUFFIX=" "
70 mkdir -p build/osx-arm
71 cd build/osx-arm
72 cmake $NINJA -DCMAKE_OSX_ARCHITECTURES="arm64" ../..
73
74elif [ "$1" = "osx-intel" ] || [ "$1" = "osxintel" ] || [ "$1" = "--osx-intel" ] || [ "$1" = "--osxintel" ]
75then
76
77 PLATFORM="osx-intel"
78 SUFFIX=" "
79 mkdir -p build/osx-intel
80 cd build/osx-intel
81 cmake $NINJA -DCMAKE_OSX_ARCHITECTURES="x86_64" ../..
82
83elif [ "$1" = "osx-universal" ] || [ "$1" = "osxuniversal" ] || [ "$1" = "--osx-universal" ] || [ "$1" = "--osxuniversal" ]
84then
85
86 PLATFORM="osx"
87 SUFFIX=" "
88 mkdir -p build/osx
89 cd build/osx
90 cmake $NINJA -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" ../..
91
92elif [ "$1" = "help" ] || [ "$1" = "--help" ]
93then
94
95echo ""
96echo "platforms, optionally passed as argument:"
97echo ""
98echo "mingw-64"
99echo "mingw-32"
100echo "mingw-64-ucrt"
101echo "cygwin"
102echo "osx-arm"
103echo "osx-intel"
104echo "osx-universal"
105echo ""
106echo "default platform: native"
107echo ""
108
109exit 0
110
111else
112
113 PLATFORM="native"
114 SUFFIX=" "
115 mkdir -p build/native
116 cd build/native
117 cmake $NINJA ../..
118
119fi
120
121#~ make -j8
122cmake --build . --parallel 8
123
124echo ""
125echo "tex trees"
126echo ""
127echo "resources like public fonts : tex/texmf/...."
128echo "the context macro package : tex/texmf-context/...."
129echo "the luametatex binary : tex/texmf-$PLATFORM/bin/..."
130echo "optional third party modules : tex/texmf-context/...."
131echo "fonts installed by the user : tex/texmf-fonts/fonts/data/...."
132echo "styles made by the user : tex/texmf-projects/tex/context/user/...."
133echo ""
134echo "binaries:"
135echo ""
136echo "tex/texmf-/bin/luametatex$SUFFIX : the compiled binary (some 2-3MB)"
137echo "tex/texmf-/bin/mtxrun$SUFFIX : copy of or link to luametatex"
138echo "tex/texmf-/bin/context$SUFFIX : copy of or link to luametatex"
139echo "tex/texmf-/bin/mtxrun.lua : copy of tex/texmf-context/scripts/context/lua/mtxrun.lua"
140echo "tex/texmf-/bin/context.lua : copy of tex/texmf-context/scripts/context/lua/context.lua"
141echo ""
142echo "commands:"
143echo ""
144echo "mtxrun --generate : create file database"
145echo "mtxrun --script fonts --reload : create font database"
146echo "mtxrun --autogenerate context ... : run tex file (e.g. from editor)"
147echo ""
148