Mac: Update dependent library build scripts for Xcode 10 compatibility

- use libc++ instead of libstdc++
  - eliminate 32-bit builds (Xcode 10 with Mac OS X SDK 10.14 builds only 64-bit binaries)
  - buildWxMac.sh was previously updated for Xcode 10 compatibility by commit 282ea8c324
This commit is contained in:
Charlie Fenton 2019-01-24 00:52:49 -08:00
parent 2e45ac29b3
commit d7eed3eafd
7 changed files with 85 additions and 145 deletions

View File

@ -2,7 +2,7 @@
# This file is part of BOINC.
# http://boinc.berkeley.edu
# Copyright (C) 2017 University of California
# Copyright (C) 2019 University of California
#
# BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License
@ -26,11 +26,12 @@
# by Charlie Fenton 7/27/12
# Updated 2/7/14 for OS 10.9
# Updated 2/8/18 to fix linker warning for Xcode 9.2 under OS 10.13
# Updated 1/23/19 use libc++ instead of libstdc++ for Xcode 10 compatibility
#
## This script requires OS 10.6 or later
## This script requires OS 10.8 or later
#
## If you drag-install Xcode 4.3 or later, you must have opened Xcode
## and clicked the Install button on the dialog which appears to
## After first installing Xcode, you must have opened Xcode and
## clicked the Install button on the dialog which appears to
## complete the Xcode installation before running this script.
#
## In Terminal, CD to the ftgl-2.1.3~rc5 directory.
@ -113,21 +114,21 @@ export PATH="${TOOLSPATH1}":"${TOOLSPATH2}":$PATH
SDKPATH=`xcodebuild -version -sdk macosx Path`
# Build for i386 architecture
# Build for x86_64 architecture
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,i386"
export CPPFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CPPFLAGS=""
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64"
export CXXFLAGS="-isysroot ${SDKPATH} -arch x86_64 -stdlib=libc++ -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
export MACOSX_DEPLOYMENT_TARGET=10.7
if [ "x${lprefix}" != "x" ]; then
./configure --prefix="${lprefix}" --enable-shared=NO --disable-freetypetest --with-ft-prefix="${libftpath}" --host=i386
if [ $? -ne 0 ]; then return 1; fi
./configure --prefix="${lprefix}" --enable-shared=NO --disable-freetypetest --with-ft-prefix="${libftpath}" --host=x86_64
else
./configure --enable-shared=NO --disable-freetypetest --with-ft-prefix="${libftpath}" --host=i386
if [ $? -ne 0 ]; then return 1; fi
./configure --enable-shared=NO --disable-freetypetest --with-ft-prefix="${libftpath}" --host=x86_64
fi
if [ $? -ne 0 ]; then return 1; fi
if [ "${doclean}" = "yes" ]; then
make clean 1>$stdout_target
@ -140,53 +141,6 @@ if [ $? -ne 0 ]; then
return 1;
fi
# save i386 lib for later use
mv -f .libs/libftgl.a libftgl_i386.a
cd "${SRCDIR}" || return 1
# Build for x86_64 architecture
make clean 1>$stdout_target
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64"
export CPPFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
retval=0
if [ "x${lprefix}" != "x" ]; then
./configure --prefix="${lprefix}" --enable-shared=NO --disable-freetypetest --with-ft-prefix="${libftpath}" --host=x86_64
retval=$?
else
./configure --enable-shared=NO --disable-freetypetest --with-ft-prefix="${libftpath}" --host=x86_64
retval=$?
fi
if [ $retval -ne 0 ]; then
rm -f src/libftgl_i386.a
return 1;
fi
cd src || return 1
make 1>$stdout_target
if [ $? -ne 0 ]; then
rm -f libftgl_i386.a
cd "${SRCDIR}" || return 1
return 1;
fi
mv -f .libs/libftgl.a .libs/libftgl_x86_64.a
# combine i386 and x86_64 libraries
lipo -create libftgl_i386.a .libs/libftgl_x86_64.a -output .libs/libftgl.a
if [ $? -ne 0 ]; then
rm -f .libs/libftgl_x86_64.a libftgl_i386.a
cd "${SRCDIR}" || return 1
return 1;
fi
rm -f libftgl_i386.a
rm -f .libs/libftgl_x86_64.a
if [ "x${lprefix}" != "x" ]; then
# this installs the modified library
make install 1>$stdout_target
@ -201,7 +155,7 @@ cd "${SRCDIR}" || return 1
lprefix=""
export CC="";export CXX=""
export LDFLAGS=""
export CPPFLAGS=""
export CXXFLAGS=""
export CFLAGS=""
export SDKROOT=""

View File

@ -2,7 +2,7 @@
# This file is part of BOINC.
# http://boinc.berkeley.edu
# Copyright (C) 2017 University of California
# Copyright (C) 2019 University of California
#
# BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License
@ -30,11 +30,12 @@
# Updated 9/10/16 for bulding c-ares 1.11.0
# Updated 1/25/18 for bulding c-ares 1.13.0 (updated comemnts only)
# Updated 2/22/18 to avoid APIs not available in earlier versions of OS X
# Updated 1/23/19 use libc++ instead of libstdc++ for Xcode 10 compatibility
#
## This script requires OS 10.6 or later
## This script requires OS 10.8 or later
#
## If you drag-install Xcode 4.3 or later, you must have opened Xcode
## and clicked the Install button on the dialog which appears to
## After first installing Xcode, you must have opened Xcode and
## clicked the Install button on the dialog which appears to
## complete the Xcode installation before running this script.
#
## Where x.xx.x is the c-ares version number:
@ -117,13 +118,14 @@ if [ -d "${libPath}" ]; then
fi
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export CPPFLAGS=""
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64"
export CPPFLAGS="-isysroot ${SDKPATH} -arch x86_64"
export CXXFLAGS="-isysroot ${SDKPATH} -arch x86_64 -stdlib=libc++"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
export MAC_OS_X_VERSION_MAX_ALLOWED=1060
export MAC_OS_X_VERSION_MIN_REQUIRED=1060
export MACOSX_DEPLOYMENT_TARGET=10.7
export MAC_OS_X_VERSION_MAX_ALLOWED=1070
export MAC_OS_X_VERSION_MIN_REQUIRED=1070
./configure --prefix=${lprefix} --enable-shared=NO --host=x86_64
if [ $? -ne 0 ]; then return 1; fi
@ -163,7 +165,7 @@ if [ $? -ne 0 ]; then return 1; fi
lprefix=""
export CC="";export CXX=""
export LDFLAGS=""
export CPPFLAGS=""
export CXXFLAGS=""
export CFLAGS=""
export SDKROOT=""

View File

@ -2,7 +2,7 @@
# This file is part of BOINC.
# http://boinc.berkeley.edu
# Copyright (C) 2017 University of California
# Copyright (C) 2019 University of California
#
# BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License
@ -35,11 +35,12 @@
# Updated 1/25/18 for curl 7.58.0 with c-ares 1.13.0 & openssl 1.1.0g, don't patch currules.h
# Updated 1/26/18 to get directory names of c-ares and OpenSSL from dependencyNames.sh
# Updated 2/22/18 to avoid APIs not available in earlier versions of OS X
# Updated 1/23/19 use libc++ instead of libstdc++ for Xcode 10 compatibility
#
## This script requires OS 10.6 or later
## This script requires OS 10.8 or later
#
## If you drag-install Xcode 4.3 or later, you must have opened Xcode
## and clicked the Install button on the dialog which appears to
## After first installing Xcode, you must have opened Xcode and
## clicked the Install button on the dialog which appears to
## complete the Xcode installation before running this script.
#
## Where x.xx.x is the curl version number:
@ -132,13 +133,14 @@ fi
export PATH=/usr/local/bin:$PATH
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
export MAC_OS_X_VERSION_MAX_ALLOWED=1060
export MAC_OS_X_VERSION_MIN_REQUIRED=1060
export MACOSX_DEPLOYMENT_TARGET=10.7
export MAC_OS_X_VERSION_MAX_ALLOWED=1070
export MAC_OS_X_VERSION_MIN_REQUIRED=1070
if [ "x${lprefix}" != "x" ]; then
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64"
export CPPFLAGS="-isysroot ${SDKPATH} -arch x86_64"
export CPPFLAGS=""
export CXXFLAGS="-isysroot ${SDKPATH} -arch x86_64 -stdlib=libc++"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64"
PKG_CONFIG_PATH="${lprefix}/lib/pkgconfig" ./configure --prefix=${lprefix} --enable-ares --enable-shared=NO --without-libidn --without-libidn2 --host=x86_64
if [ $? -ne 0 ]; then return 1; fi
@ -161,7 +163,8 @@ else
fi
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64 -L${CURL_DIR}/../${opensslDirName} "
export CPPFLAGS="-isysroot ${SDKPATH} -arch x86_64 -I${CURL_DIR}/../${opensslDirName}/include"
export CPPFLAGS=""
export CXXFLAGS="-isysroot ${SDKPATH} -arch x86_64 -stdlib=libc++ -I${CURL_DIR}/../${opensslDirName}/include"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64 -I${CURL_DIR}/../${opensslDirName}/include"
./configure --enable-shared=NO --enable-ares="${libcares}" --without-libidn --without-libidn2 --host=x86_64
if [ $? -ne 0 ]; then return 1; fi
@ -222,7 +225,7 @@ fi
export lprefix=""
export CC="";export CXX=""
export LDFLAGS=""
export CPPFLAGS=""
export CXXFLAGS=""
export CFLAGS=""
export SDKROOT=""

View File

@ -2,7 +2,7 @@
# This file is part of BOINC.
# http://boinc.berkeley.edu
# Copyright (C) 2017 University of California
# Copyright (C) 2019 University of California
#
# BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License
@ -30,11 +30,12 @@
# Updated 4/8/15 to check for spaces in path
# Updated 1/5/16 for FreeType-2.6.2
# Updated 1/25/18 for any version of FreeType (changed only comments)
# Updated 1/23/19 use libc++ instead of libstdc++ for Xcode 10 compatibility
#
## This script requires OS 10.6 or later
## This script requires OS 10.8 or later
#
## If you drag-install Xcode 4.3 or later, you must have opened Xcode
## and clicked the Install button on the dialog which appears to
## After first installing Xcode, you must have opened Xcode and
## clicked the Install button on the dialog which appears to
## complete the Xcode installation before running this script.
#
## Where x.x.x is the freetype version number:
@ -127,23 +128,19 @@ export PATH="${TOOLSPATH1}":"${TOOLSPATH2}":$PATH
SDKPATH=`xcodebuild -version -sdk macosx Path`
# Build for i386 architecture
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,i386"
export CPPFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CFLAGS="-isysroot ${SDKPATH} -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
cp -p objs/README README-objs
rm -fR objs/*.*
rm -fR objs/*
cp -p README-objs objs/README
rm -f README-objs
# this directory is only used when no --prefix argument was given
rm -fR "../freetype_install/"
./configure --enable-shared=NO --prefix=${lprefix} --host=i386
# Build for x86_64 architecture
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64"
export CPPFLAGS=""
export CXXFLAGS="-isysroot ${SDKPATH} -arch x86_64 -stdlib=libc++ -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.7
./configure --enable-shared=NO --prefix=${lprefix} --host=x86_64
if [ $? -ne 0 ]; then return 1; fi
if [ "${doclean}" = "yes" ]; then
@ -153,32 +150,6 @@ fi
make 1>$stdout_target
if [ $? -ne 0 ]; then return 1; fi
# save i386 lib for later use
mv -f objs/.libs/libfreetype.a objs/.libs/libfreetype_i386.a
# Build for x86_64 architecture
make clean 1>$stdout_target
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64"
export CPPFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
./configure --enable-shared=NO --prefix=${lprefix} --host=x86_64
if [ $? -ne 0 ]; then return 1; fi
make 1>$stdout_target
if [ $? -ne 0 ]; then return 1; fi
mv -f objs/.libs/libfreetype.a objs/.libs/libfreetype_x86_64.a
# combine i386 and x86_64 libraries
lipo -create objs/.libs/libfreetype_i386.a objs/.libs/libfreetype_x86_64.a -output objs/.libs/libfreetype.a
if [ $? -ne 0 ]; then return 1; fi
rm -f objs/.libs/libfreetype_i386.a
rm -f objs/.libs/libfreetype_x86_64.a
# Building ftgl requires [install-path]/bin/freetype-config
# this installs the modified library
make install 1>$stdout_target
@ -187,12 +158,12 @@ if [ $? -ne 0 ]; then return 1; fi
# remove installed items not needed by ftgl build
# this directory is only used when no --prefix argument was given
rm -fR "../freetype_install/share"
rm -fR "../freetype_install/lib"
rm -f ../freetype_install/lib/libfreetype.*
lprefix=""
export CC="";export CXX=""
export LDFLAGS=""
export CPPFLAGS=""
export CXXFLAGS=""
export CFLAGS=""
export SDKROOT=""

View File

@ -2,7 +2,7 @@
# This file is part of BOINC.
# http://boinc.berkeley.edu
# Copyright (C) 2008 University of California
# Copyright (C) 2019 University of California
#
# BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License
@ -24,6 +24,7 @@
# by Charlie Fenton 12/19/07
# Updated 12/3/09 for OS 10.6 Snow Leopard and XCode 3.2.1
# Updated 10/11/10
# Updated 1/23/19 to report this script is obsolete and return error
#
## In Terminal, CD to the jpeg-6b directory.
## cd [path]/jpeg-6b/
@ -33,6 +34,9 @@
# the -clean argument will force a full rebuild.
#
echo "This script is obsolete. libjpeg is now built by boinc.xcodeproj"
return 1
if [ "$1" != "-clean" ]; then
if [ -f libjpeg_ppc.a ] && [ -f libjpeg_i386.a ] && [ -f libjpeg_x86_64.a ] && [ -f libjpeg.a ]; then
echo "jpeg-6b already built"

View File

@ -2,7 +2,7 @@
# This file is part of BOINC.
# http://boinc.berkeley.edu
# Copyright (C) 2017 University of California
# Copyright (C) 2019 University of California
#
# BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License
@ -33,11 +33,12 @@
# Updated 3/2/16 for openssl-1.0.2g
# Updated 9/10/16 for openssl-1.1.0
# Updated 1/25/18 for bulding openssl 1.1.0g (updated comemnts only)
# Updated 1/23/19 use libc++ instead of libstdc++ for Xcode 10 compatibility
#
## This script requires OS 10.6 or later
## This script requires OS 10.8 or later
#
## If you drag-install Xcode 4.3 or later, you must have opened Xcode
## and clicked the Install button on the dialog which appears to
## After first installing Xcode, you must have opened Xcode and
## clicked the Install button on the dialog which appears to
## complete the Xcode installation before running this script.
#
## Where x.xx.xy is the openssl version number:
@ -122,11 +123,12 @@ if [ -d "${libPath}" ]; then
fi
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export CPPFLAGS=""
export LDFLAGS="-Wl,-sysroot,${SDKPATH},-syslibroot,${SDKPATH},-arch,x86_64"
export CPPFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CXXFLAGS="-isysroot ${SDKPATH} -arch x86_64 -stdlib=libc++ -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export CFLAGS="-isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
export MACOSX_DEPLOYMENT_TARGET=10.7
export LIBRARY_PATH="${SDKPATH}/usr/lib"
if [ "x${lprefix}" != "x" ]; then
@ -152,7 +154,7 @@ fi
lprefix=""
export CC="";export CXX=""
export LDFLAGS=""
export CPPFLAGS=""
export CXXFLAGS=""
export CFLAGS=""
export SDKROOT=""

View File

@ -2,7 +2,7 @@
# This file is part of BOINC.
# http://boinc.berkeley.edu
# Copyright (C) 2017 University of California
# Copyright (C) 2019 University of California
#
# BOINC is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License
@ -27,11 +27,12 @@
# Updated 3/2/16 for sqlite 3.11.0
# Updated 10/22/17 to build 64-bit library (temporarily build both 32-bit and 64-bit libraries)
# Updated 1/25/18 to build only 64-bit library
# Updated 1/23/19 use libc++ instead of libstdc++ for Xcode 10 compatibility
#
## This script requires OS 10.6 or later
## This script requires OS 10.8 or later
#
## If you drag-install Xcode 4.3 or later, you must have opened Xcode
## and clicked the Install button on the dialog which appears to
## After first installing Xcode, you must have opened Xcode and
## clicked the Install button on the dialog which appears to
## complete the Xcode installation before running this script.
#
## Where xxxxxxx is the version string in the directory name:
@ -121,15 +122,14 @@ if [ -d "${libPath}" ]; then
fi
# Build for x86_64 architecture
make clean 1>$stdout_target
export PATH=/usr/local/bin:$PATH
export CC="${GCCPATH}";export CXX="${GPPPATH}"
export CPPFLAGS=""
export LDFLAGS="-Wl,-syslibroot,${SDKPATH},-arch,x86_64"
export CPPFLAGS="-Os -isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CFLAGS="-Os -isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1060 -DMAC_OS_X_VERSION_MIN_REQUIRED=1060"
export CXXFLAGS="-Os -isysroot ${SDKPATH} -arch x86_64 -stdlib=libc++ -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export CFLAGS="-Os -isysroot ${SDKPATH} -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1070 -DMAC_OS_X_VERSION_MIN_REQUIRED=1070"
export SDKROOT="${SDKPATH}"
export MACOSX_DEPLOYMENT_TARGET=10.6
export MACOSX_DEPLOYMENT_TARGET=10.7
if [ "x${lprefix}" != "x" ]; then
./configure --prefix=${lprefix} --enable-shared=NO --host=x86_64
@ -139,6 +139,10 @@ else
if [ $? -ne 0 ]; then return 1; fi
fi
if [ "${doclean}" = "yes" ]; then
make clean 1>$stdout_target
fi
make 1>$stdout_target
if [ $? -ne 0 ]; then return 1; fi
@ -150,7 +154,7 @@ fi
lprefix=""
export CC="";export CXX=""
export LDFLAGS=""
export CPPFLAGS=""
export CXXFLAGS=""
export CFLAGS=""
export SDKROOT=""