File: macos_build_uni_dylib.sh

package info (click to toggle)
ghostscript 10.05.1~dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 93,508 kB
  • sloc: ansic: 908,895; python: 7,676; cpp: 6,534; cs: 6,457; sh: 6,168; java: 4,028; perl: 2,373; tcl: 1,639; makefile: 529; awk: 66; yacc: 18
file content (83 lines) | stat: -rwxr-xr-x 2,248 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
#

if [ ! -f base/version.mak ] ; then
  echo "This script expects to be run from the ghostpdl tree root"
  exit
fi

if [ $# -gt 1 ]; then
  echo "Usage: build_ios_gslib.sh"
  exit
fi

DEBUGSTR=
if [ $# -eq 1 ]; then
  if test x"$1" = x"debug"; then
    DEBUGSTR=debug
  fi
fi

GS_VERSION_MAJOR=$(grep "GS_VERSION_MAJOR="  base/version.mak | awk '{ split($0, arr, "="); print arr[2]; }')
GS_VERSION_MINOR=$(grep "GS_VERSION_MINOR="  base/version.mak | awk '{ split($0, arr, "="); print arr[2]; }')


if [ ! -x ./configure ] ; then
  NOCONFIGURE=1
  export NOCONFIGURE
  ./autogen.sh
  NOCONFIGURE=
  export NOCONFIGURE
fi


this_host=$(./config.guess)

native_arch=""
case $this_host in
    *x86_64*)
      native_arch=x86_64
    ;;
    *aarch64*)
      native_arch=arm64
    ;;
esac

if test x"$native_arch" = x"" ; then
    echo "Error: Unable to identify native architecture"
    exit 1
fi

./configure CC="gcc -arch x86_64" CXX="g++ -arch x86_64" CCAUX="gcc -arch $native_arch" --without-x --host=$this_host --build=x86_64-apple-darwin --with-arch_h="arch/osx-x86-x86_64-ppc_arm64-gcc.h" 2>&1 | tee conflog_x86_64.txt || exit 1

make -j4 so 2>&1 | tee buildlog_x86_64.txt || exit 1

mv Makefile Makefile.x86_64
mv sobin sobin-x86_64
mv soobj soobj-x86_64

./configure CC="gcc -arch arm64" CXX="g++ -arch arm64" CCAUX="gcc -arch $native_arch" --without-x --host=$this_host --build=arm64-apple-darwin --with-arch_h="arch/osx-x86-x86_64-ppc_arm64-gcc.h" 2>&1 | tee conflog_arm64.txt || exit 1

make -j4 so 2>&1 | tee buildlog_arm64.txt || exit 1
mv sobin sobin-arm64
mv soobj soobj-arm64

mv Makefile Makefile.arm64


mkdir sobin

lipo -output sobin/libgs.$GS_VERSION_MAJOR.$GS_VERSION_MINOR.dylib -create sobin-x86_64/libgs.$GS_VERSION_MAJOR.$GS_VERSION_MINOR.dylib sobin-arm64/libgs.$GS_VERSION_MAJOR.$GS_VERSION_MINOR.dylib 2>&1 | tee buildlog_uni.txt || exit 1
lipo -output sobin/gsc -create sobin-x86_64/gsc sobin-arm64/gsc 2>&1 | tee buildlog_uni.txt || exit 1

cd sobin

ln -s libgs.$GS_VERSION_MAJOR.$GS_VERSION_MINOR.dylib libgs.$GS_VERSION_MAJOR.dylib
ln -s libgs.$GS_VERSION_MAJOR.$GS_VERSION_MINOR.dylib libgs.dylib
cd ..

rm -rf sobin-x86_64 soobj-x86_64 sobin-arm64 soobj-arm64

rm Makefile.x86_64 Makefile.arm64

exit 0