Advertisement
Guest User

Untitled

a guest
Nov 26th, 2021
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.81 KB | None | 0 0
  1. #!/bin/bash
  2. # script for download and build libraries.
  3.  
  4.  
  5. # depends on: dev-lang/nasm
  6.  
  7. # compile settings
  8. NCPU=`nproc`
  9.  
  10. # root directory
  11. WORKDIR=`pwd`
  12.  
  13. # subdirectories
  14. SOURCE='source'
  15. BUILDS='build'
  16. LIBOUT='lib'
  17. HEADER='include'
  18.  
  19. # Remote git repository with sources code
  20. JPEG_REPOSITORY='https://github.com/libjpeg-turbo/libjpeg-turbo.git'
  21. TIFF_REPOSITORY='https://github.com/vadz/libtiff.git'
  22.  
  23. # IN: Jpeg folder with source code
  24. JPEG_FOLDER=libjpeg-turbo
  25.  
  26. # IN: Tiff folder with source code
  27. TIFF_FOLDER=libtiff
  28.  
  29.  
  30. # Configuration for compilation JPEG library
  31. # JPEG_CONFIGURE="./configure --with-12bit  --enable-static --enable-shared"
  32. JPEG_OPTS="-DWITH_12BIT=ON"
  33. JPEG_OPTS="${JPEG_OPTS} -DENABLE_STATIC=ON -DENABLE_SHARED=ON"
  34.  
  35. # Configuration for compilation TIFF library
  36. # TIFF_CONFIGURE="./configure --disable-jbig --disable-old-jpeg --disable-lzma --disable-zlib --enable-jpeg12 --enable-shared --enable-static --with-jpeg12-lib=$WORKDIR$JPEG_FOLDER/.libs/libjpeg.la --with-jpeg12-include-dir=$WORKDIR$JPEG_FOLDER"
  37. TIFF_OPTS="-Djbig=OFF -Dold-jpeg=OFF -Dlzma=OFF -Dzlib=OFF -Djpeg12=ON"
  38. TIFF_OPTS="${TIFF_OPTS} -DJPEG12_INCLUDE_DIR=${WORKDIR}/${SOURCE}/${JPEG_FOLDER}"
  39. TIFF_OPTS="${TIFF_OPTS} -DJPEG12_LIBRARY=${WORKDIR}/${BUILDS}/jpeg/libjpeg.so"
  40.  
  41. # CLONE SOURCES
  42.  
  43. mkdir -p ${WORKDIR}/${SOURCE}
  44. cd ${WORKDIR}/${SOURCE}
  45.  
  46. if [ ! -d ${JPEG_FOLDER} ]
  47. then
  48.     git clone ${JPEG_REPOSITORY}
  49. fi
  50.  
  51. if [ ! -d ${TIFF_FOLDER} ]
  52. then
  53.     git clone ${TIFF_REPOSITORY}
  54. fi
  55.  
  56.  
  57. # UPDATE SOURCES
  58.  
  59. cd ${WORKDIR}/${SOURCE}/${JPEG_FOLDER}
  60. git pull
  61. git checkout main
  62.  
  63. cd ${WORKDIR}/${SOURCE}/${TIFF_FOLDER}
  64. git pull
  65. git checkout master
  66.  
  67.  
  68. # BUILD SOURCES
  69.  
  70. mkdir -p ${WORKDIR}/${BUILDS}/jpeg
  71. cd ${WORKDIR}/${BUILDS}/jpeg
  72. cmake -G"Unix Makefiles" ${JPEG_OPTS} ${WORKDIR}/${SOURCE}/${JPEG_FOLDER}
  73. make -j${NCPU}
  74.  
  75. mkdir -p ${WORKDIR}/${BUILDS}/tiff
  76. cd ${WORKDIR}/${BUILDS}/tiff
  77. cmake -G"Unix Makefiles" ${TIFF_OPTS} ${WORKDIR}/${SOURCE}/${TIFF_FOLDER}
  78.  
  79. ## WAR missing quotes in libtiff/tif_config.h
  80. ## -- #define LIBJPEG_12_PATH /mnt/work/rozsnyo.com/camera/tiff-jpeg/source/libjpeg-turbo/jpeglib.h
  81. ## ++ #define LIBJPEG_12_PATH "/mnt/work/rozsnyo.com/camera/tiff-jpeg/source/libjpeg-turbo/jpeglib.h"
  82. sed -i -r 's/(LIBJPEG_12_PATH) (.*)/\1 "\2"/' libtiff/tif_config.h
  83.  
  84. make -j${NCPU}
  85.  
  86. ## WAR failed build? rerun and its ok?
  87. make
  88.  
  89.  
  90. # EXPORT OUTPUTS
  91. mkdir -p ${WORKDIR}/${LIBOUT}
  92.  
  93. cd ${WORKDIR}/${BUILDS}/jpeg
  94. cp -r ./libjpeg.so* ${WORKDIR}/${LIBOUT}
  95.  
  96. cd ${WORKDIR}/${BUILDS}/tiff/libtiff
  97. cp -r ./libtiff.so* ${WORKDIR}/${LIBOUT}
  98.  
  99.  
  100. mkdir -p ${WORKDIR}/${HEADER}
  101.  
  102. cd ${WORKDIR}/${SOURCE}/${JPEG_FOLDER}
  103. cp jpeglib.h jmorecfg.h ${WORKDIR}/${HEADER}
  104.  
  105. cd ${WORKDIR}/${SOURCE}/${TIFF_FOLDER}/libtiff
  106. cp tiff.h ${WORKDIR}/${HEADER}
  107. cd ${WORKDIR}/${BUILDS}/tiff/libtiff
  108. cp tiffconf.h ${WORKDIR}/${HEADER}
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement