derle.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. gcc_surum="13.2.0"
  2. linux_surum="6.4.12"
  3. cd $SRC/linux-${linux_surum}
  4. make mrproper
  5. make headers
  6. find usr/include -name '.*' -delete
  7. rm usr/include/Makefile
  8. mkdir -p $PKG/usr/include
  9. cp -rv usr/include/* $PKG/usr/include
  10. cd $SRC/glibc-$surum
  11. patch -Np1 -i $SRC/glibc-$surum-fhs-1.patch || exit 1
  12. patch -Np1 -i $SRC/glibc-2.38-memalign_fix-1.patch
  13. cd $SRC
  14. mkdir -p glibc-build lib32-glibc-build
  15. [[ -d glibc-$surum ]] && ln -s glibc-$surum glibc
  16. cd glibc
  17. # Re-enable `--hash-style=both` for building shared objects due to issues with EPIC's EAC
  18. # which relies on DT_HASH to be present in these libs.
  19. # reconsider 2023-01
  20. patch -Np1 -i "${SRC}"/reenable_DT_HASH.patch
  21. patch -Np1 -i "${SRC}"/fix-malloc-p1.patch
  22. patch -Np1 -i "${SRC}"/fix-malloc-p2.patch
  23. _configure_flags=(
  24. --prefix=/usr
  25. --with-headers=$PKG/usr/include
  26. --enable-bind-now
  27. --enable-cet
  28. --enable-fortify-source
  29. --enable-kernel=4.4
  30. --enable-multi-arch
  31. --enable-stack-protector=strong
  32. --disable-profile
  33. --disable-werror
  34. --disable-timezone-tools
  35. )
  36. cd "${SRC}"/glibc-build
  37. echo "slibdir=/usr/lib" >> configparms
  38. echo "rtlddir=/usr/lib" >> configparms
  39. echo "sbindir=/usr/bin" >> configparms
  40. echo "rootsbindir=/usr/bin" >> configparms
  41. # Credits @allanmcrae
  42. # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
  43. # remove fortify for building libraries
  44. # CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/}
  45. "${SRC}"/glibc/configure \
  46. --libdir=/usr/lib \
  47. --libexecdir=/usr/lib \
  48. "${_configure_flags[@]}"
  49. make -O
  50. cd "${SRC}"/lib32-glibc-build
  51. export CC="gcc -m32 -mstackrealign"
  52. export CXX="g++ -m32 -mstackrealign"
  53. echo "slibdir=/usr/lib32" >> configparms
  54. echo "rtlddir=/usr/lib32" >> configparms
  55. echo "sbindir=/usr/bin" >> configparms
  56. echo "rootsbindir=/usr/bin" >> configparms
  57. "${SRC}"/glibc/configure \
  58. --host=i686-pc-linux-gnu \
  59. --libdir=/usr/lib32 \
  60. --libexecdir=/usr/lib32 \
  61. "${_configure_flags[@]}"
  62. make -O
  63. # sdt.h gerekli
  64. #--enable-systemtap