build.sh /size: 4346 b    last modification: 2024-01-16 10:21
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