better apply peflags at build time, to avoid antivirus getting nervous about changing executables;
3 # Multi-platform build script for Poly/ML
5 THIS="$(cd "$(dirname "$0")"; pwd)"
14 echo "Usage: $PRG SOURCE TARGET [OPTIONS]"
16 echo " Build Poly/ML in SOURCE directory for given platform in TARGET,"
17 echo " using the usual Isabelle platform identifiers."
19 echo " Additional options for ./configure may be given, e.g. --with-gmp"
33 [ "$#" -eq 0 ] && usage
36 [ "$#" -eq 0 ] && usage
44 [ -d "$SOURCE" ] || fail "Bad source directory: \"$SOURCE\""
54 OPTIONS=(--build=i686-darwin CFLAGS='-arch i686 -O3 -I../libffi/include'
55 CXXFLAGS='-arch i686 -O3 -I../libffi/include' CCASFLAGS='-arch i686 -O3'
56 LDFLAGS='-segprot POLY rwx rwx')
59 OPTIONS=(--build=x86_64-darwin CFLAGS='-arch x86_64 -O3 -I../libffi/include'
60 CXXFLAGS='-arch x86_64 -O3 -I../libffi/include' CCASFLAGS='-arch x86_64'
61 LDFLAGS='-segprot POLY rwx rwx')
72 ppc-darwin | sparc-solaris | x86-solaris | x86-bsd)
76 fail "Bad platform identifier: \"$TARGET\""
84 { ./configure --prefix="$PWD/$TARGET" "${OPTIONS[@]}" "${USER_OPTIONS[@]}" && \
87 make install; } || fail "Build failed"
91 mv "$SOURCE/$TARGET/bin/"* "$TARGET/"
92 mv "$SOURCE/$TARGET/lib/"* "$TARGET/"
93 rmdir "$SOURCE/$TARGET/bin" "$SOURCE/$TARGET/lib"
94 rm -rf "$SOURCE/$TARGET/share"
96 if [ "$TARGET" = x86-cygwin ]; then
97 peflags -x8192000 -z500 "$TARGET/poly.exe"