111 lines
2.5 KiB
Markdown
111 lines
2.5 KiB
Markdown
# IUP-stack
|
||
|
||
Стек библиотеки IUP
|
||
|
||
## Download
|
||
|
||
```sh
|
||
wget https://sourceforge.net/projects/imtoolkit/files/3.15/Docs%20and%20Sources/im-3.15_Sources.tar.gz
|
||
wget https://sourceforge.net/projects/canvasdraw/files/5.14/Docs%20and%20Sources/ftgl-2.1.5_Sources.tar.gz
|
||
wget https://sourceforge.net/projects/canvasdraw/files/5.14/Docs%20and%20Sources/freetype-2.10.2_Sources.tar.gz
|
||
wget https://sourceforge.net/projects/canvasdraw/files/5.14/Docs%20and%20Sources/pdflib_lite-7.0.5_Sources.tar.gz
|
||
wget https://sourceforge.net/projects/canvasdraw/files/5.14/Docs%20and%20Sources/cd-5.14_Sources.tar.gz
|
||
wget https://sourceforge.net/projects/iup/files/3.30/Docs%20and%20Sources/iup-3.30_Sources.tar.gz
|
||
wget https://www.lua.org/ftp/lua-5.4.4.tar.gz
|
||
```
|
||
|
||
## Сборка
|
||
|
||
Экспорт переменных, где `/root/iup/` путь к репозиторию, а `Linux62_64` релиз ядра (возможен другой путь после компиляции):
|
||
|
||
```sh
|
||
export USE_GTK3=Yes
|
||
export USE_PKGCONFIG=Yes
|
||
export USE_LUA_VERSION=54
|
||
export USE_LUA54=Yes
|
||
export LUA_LIB=/root/iup/lua-5.4.4/src
|
||
export LUA_INC=/root/iup/lua-5.4.4/src
|
||
export IM_LIB=/root/iup/im/lib/Linux62_64
|
||
export IM_INC=/root/iup/im/include
|
||
export FTGL_LIB=/root/iup/ftgl/lib/Linux62_64
|
||
export FTGL_INC=/root/iup/ftgl/include
|
||
export PDFLIB_LIB=/root/iup/pdflib7/lib/Linux62_64
|
||
export PDFLIB_INC=/root/iup/pdflib7/include
|
||
export CD_LIB=/root/iup/cd/lib/Linux62_64
|
||
export CD_INC=/root/iup/cd/include
|
||
```
|
||
|
||
### lua
|
||
|
||
```sh
|
||
cd lua-5.4.4
|
||
make linux
|
||
ln -s liblua.a src/liblua54.a
|
||
```
|
||
|
||
Для компиляции из под Lua 5.4 необходимо создать ссылки:
|
||
|
||
```sh
|
||
mkdir -p /root/iup/lua54/bin/Linux62_64
|
||
ln -sf $LUA_LIB/lua /root/iup/lua54/bin/Linux62_64/lua54
|
||
```
|
||
|
||
### pdflib7
|
||
|
||
```sh
|
||
cd pdflib7
|
||
make
|
||
```
|
||
|
||
### ftgl
|
||
|
||
```sh
|
||
cd ftgl
|
||
make
|
||
```
|
||
|
||
### fftw
|
||
|
||
Библиотеку необходимо собрать [2 раза](https://www.linuxfromscratch.org/blfs/view/stable-systemd/general/fftw.html) - для одинарной точности и двойной точности (`--enable-sse`, `--enable-float`)
|
||
|
||
```sh
|
||
cd fftw
|
||
./configure --enable-shared --enable-sse --prefix=/usr
|
||
make -j16
|
||
make install
|
||
make clean
|
||
./configure --enable-shared --enable-float --prefix=/usr
|
||
make -j16
|
||
make install
|
||
```
|
||
|
||
### im
|
||
|
||
```sh
|
||
cd im
|
||
make
|
||
```
|
||
|
||
### cd
|
||
|
||
```sh
|
||
cd cd
|
||
make
|
||
```
|
||
|
||
### iup
|
||
|
||
Применить патч для ядра Linux v6:
|
||
|
||
```sh
|
||
cd iup
|
||
patch -p1 < without-lua-prefix-with-linux6.patch
|
||
make
|
||
```
|
||
|
||
### Сборка одним скриптом
|
||
|
||
```sh
|
||
./build.sh
|
||
```
|