Mac: modify Xcode project and build script setupForBOINC.sh for new approach to compatibility between production builds and Travis CI builds. The paths to the correct dependent library are now specified entirely in the Header Search Paths and Library SearchPaths for each target instead of the LD Flags, and we no longer use symbolic links in a mac3rdParty directory.

This commit is contained in:
Charlie Fenton 2017-03-16 02:42:50 -07:00
parent 3e6398691f
commit aaa0254e4c
2 changed files with 57 additions and 76 deletions

View File

@ -2356,7 +2356,7 @@
20286C28FDCF999611CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
LastUpgradeCheck = 0620;
};
buildConfigurationList = DD9E2381091CBDAE0048316E /* Build configuration list for PBXProject "boinc" */;
compatibilityVersion = "Xcode 3.0";
@ -3486,14 +3486,14 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../clientgui/mac/MacGUI.pch;
HEADER_SEARCH_PATHS = (
"../mac3rdParty/wxWidgets-3.0.0/include",
"../mac3rdParty/wxWidgets-3.0.0/build/osx/setup/cocoa/include",
"../../wxWidgets-3.0.0/include",
"../../wxWidgets-3.0.0/build/osx/setup/cocoa/include",
../clientgui,
);
INFOPLIST_FILE = Info.plist;
LIBRARY_SEARCH_PATHS = (
"../mac3rdParty/wxWidgets-3.0.0/build/osx/build/Debug",
"../mac3rdParty/sqlite-autoconf-3110000/.libs/",
"../../wxWidgets-3.0.0/build/osx/build/Debug",
"../../sqlite-autoconf-3110000/.libs/",
);
OTHER_CFLAGS = (
"-DHAVE_CONFIG_H",
@ -3511,7 +3511,7 @@
"-bind_at_load",
"-D_THREAD_SAFE",
"-lwx_osx_cocoa_static",
"../mac3rdParty/sqlite-autoconf-3110000/.libs/libsqlite3.a",
"-lsqlite3",
"-lz",
"-lpthread",
"-lm",
@ -3541,14 +3541,14 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = ../clientgui/mac/MacGUI.pch;
HEADER_SEARCH_PATHS = (
"../mac3rdParty/wxWidgets-3.0.0/include",
"../mac3rdParty/wxWidgets-3.0.0/build/osx/setup/cocoa/include",
"../../wxWidgets-3.0.0/include",
"../../wxWidgets-3.0.0/build/osx/setup/cocoa/include",
../clientgui,
);
INFOPLIST_FILE = Info.plist;
LIBRARY_SEARCH_PATHS = (
"../mac3rdParty/wxWidgets-3.0.0/build/osx/build/Release",
"../mac3rdParty/sqlite-autoconf-3110000/.libs/",
"../../wxWidgets-3.0.0/build/osx/build/Release",
"../../sqlite-autoconf-3110000/.libs/",
);
OTHER_CFLAGS = (
"-DHAVE_CONFIG_H",
@ -3568,7 +3568,7 @@
"-bind_at_load",
"-D_THREAD_SAFE",
"-lwx_osx_cocoa_static",
"../mac3rdParty/sqlite-autoconf-3110000/.libs/libsqlite3.a",
"-lsqlite3",
"-lz",
"-lpthread",
"-lm",
@ -3675,18 +3675,20 @@
HEADER_SEARCH_PATHS = (
../api/,
../samples/jpeglib/,
"../mac3rdParty/freetype-2.6.2/include",
"../mac3rdParty/ftgl-2.1.3~rc5/src",
"../../freetype-2.6.2/include",
"../../ftgl-2.1.3~rc5/src",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"${BUILT_PRODUCTS_DIR}/",
"../../freetype-2.6.2/objs/.libs",
"../../ftgl-2.1.3~rc5/src/.libs",
);
OTHER_LDFLAGS = (
"-lresolv",
"-ljpeg",
"../mac3rdParty/freetype-2.6.2/objs/.libs/libfreetype.a",
"../mac3rdParty/ftgl-2.1.3~rc5/src/.libs/libftgl.a",
"-lfreetype",
"-lftgl",
"-lz",
"-lbz2",
);
@ -3700,18 +3702,20 @@
HEADER_SEARCH_PATHS = (
../api/,
../samples/jpeglib/,
"../mac3rdParty/freetype-2.6.2/include",
"../mac3rdParty/ftgl-2.1.3~rc5/src",
"../../freetype-2.6.2/include",
"../../ftgl-2.1.3~rc5/src",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"${BUILT_PRODUCTS_DIR}/",
"../../freetype-2.6.2/objs/.libs",
"../../ftgl-2.1.3~rc5/src/.libs",
);
OTHER_LDFLAGS = (
"-lresolv",
"-ljpeg",
"../mac3rdParty/freetype-2.6.2/objs/.libs/libfreetype.a",
"../mac3rdParty/ftgl-2.1.3~rc5/src/.libs/libftgl.a",
"-lfreetype",
"-lftgl",
"-lz",
"-lbz2",
);
@ -3816,10 +3820,15 @@
DEBUG_INFORMATION_FORMAT = dwarf;
DEPLOYMENT_POSTPROCESSING = YES;
HEADER_SEARCH_PATHS = (
"../mac3rdParty/curl-7.50.2/include",
"../mac3rdParty/openssl-1.1.0/include",
"../../curl-7.50.2/include",
"../../openssl-1.1.0/include",
);
INFOPLIST_PREPROCESSOR_DEFINITIONS = "";
LIBRARY_SEARCH_PATHS = (
"../../curl-7.50.2/lib/.libs",
"../../c-ares-1.11.0/.libs",
"../../openssl-1.1.0/",
);
"OTHER_CFLAGS[arch=x86_64]" = (
"-D_THREAD_SAFE",
"-DNDEBUG",
@ -3829,16 +3838,16 @@
);
OTHER_LDFLAGS = (
"-L.",
"../mac3rdParty/curl-7.50.2/lib/.libs/libcurl.a",
"../mac3rdParty/c-ares-1.11.0/.libs/libcares.a",
"../mac3rdParty/openssl-1.1.0/libcrypto.a",
"../mac3rdParty/openssl-1.1.0/libssl.a",
"-lcurl",
"-lcares",
"-lcrypto",
"-lssl",
"-lldap",
"-lz",
);
PRODUCT_NAME = boinc;
STRIP_INSTALLED_PRODUCT = NO;
USER_HEADER_SEARCH_PATHS = "../mac3rdParty/curl-7.50.2/include ../mac3rdParty/openssl-1.1.0/include";
USER_HEADER_SEARCH_PATHS = "../../curl-7.50.2/include ../../openssl-1.1.0/include";
};
name = Deployment;
};
@ -3983,10 +3992,15 @@
DEBUG_INFORMATION_FORMAT = dwarf;
DEPLOYMENT_POSTPROCESSING = YES;
HEADER_SEARCH_PATHS = (
"../mac3rdParty/curl-7.50.2/include",
"../mac3rdParty/openssl-1.1.0/include",
"../../curl-7.50.2/include",
"../../openssl-1.1.0/include",
);
INFOPLIST_PREPROCESSOR_DEFINITIONS = "";
LIBRARY_SEARCH_PATHS = (
"../../curl-7.50.2/lib/.libs",
"../../c-ares-1.11.0/.libs",
"../../openssl-1.1.0/",
);
OTHER_CFLAGS = (
"-D_THREAD_SAFE",
"-D_DEBUG",
@ -3995,16 +4009,16 @@
);
OTHER_LDFLAGS = (
"-L.",
"../mac3rdParty/curl-7.50.2/lib/.libs/libcurl.a",
"../mac3rdParty/c-ares-1.11.0/.libs/libcares.a",
"../mac3rdParty/openssl-1.1.0/libcrypto.a",
"../mac3rdParty/openssl-1.1.0/libssl.a",
"-lcurl",
"-lcares",
"-lcrypto",
"-lssl",
"-lldap",
"-lz",
);
PRODUCT_NAME = boinc;
STRIP_INSTALLED_PRODUCT = NO;
USER_HEADER_SEARCH_PATHS = "../mac3rdParty/curl-7.50.2/include ../mac3rdParty/openssl-1.1.0/include";
USER_HEADER_SEARCH_PATHS = "../../curl-7.50.2/include ../../openssl-1.1.0/include";
};
name = Development;
};

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# This file is part of BOINC.
# http://boinc.berkeley.edu
@ -41,13 +41,9 @@
# Updated 9/10/16 for c-ares 1.11.0, curl 7.50.2, openssl 1.1.0
#
# Download these seven packages and place them in a common parent directory
# with the BOINC source tree. For compatibility with Travis CI builds, they
# can instead be placed in the directory ../mac3rdParty/
# with the BOINC source tree.
#
# When the packages are placed in the parent directory, this script creates
# symbolic links to them in ../mac3rdParty/.
#
## In Terminal, cd to the mac_build directory of the boinc tree; for
## In Terminal, cd to the mac_build directory of the boinc tree; for
## example:
## cd [path]/boinc/mac_build/
## then run this script:
@ -58,17 +54,6 @@
# This script will work even if you have renamed the boinc/ directory
#
function make_symlink_if_needed() {
cd ../mac3rdParty/
if [ ! -d "${1}" ]; then
if [ -d "../../${1}" ]; then
ln -s "../../${1}"
fi
fi
cd "${SCRIPT_DIR}"
}
if [ "$1" = "-clean" ]; then
cleanit="-clean"
else
@ -86,19 +71,13 @@ finalResult=0
SCRIPT_DIR=`pwd`
if [ ! -d ../mac3rdParty ]; then
mkdir ../mac3rdParty
fi
echo ""
echo "----------------------------------"
echo "----- BUILD OPENSSL-1.1.0 -------"
echo "----------------------------------"
echo ""
make_symlink_if_needed openssl-1.1.0
cd ../mac3rdParty/openssl-1.1.0/
cd ../../openssl-1.1.0/
if [ $? -eq 0 ]; then
source "${SCRIPT_DIR}/buildopenssl.sh" ${cleanit}
if [ $? -eq 0 ]; then
@ -114,9 +93,7 @@ echo "------- BUILD C-ARES-1.11.0 ------"
echo "----------------------------------"
echo ""
make_symlink_if_needed c-ares-1.11.0
cd ../mac3rdParty/c-ares-1.11.0/
cd ../../c-ares-1.11.0/
if [ $? -eq 0 ]; then
source "${SCRIPT_DIR}/buildc-ares.sh" ${cleanit}
if [ $? -eq 0 ]; then
@ -132,9 +109,7 @@ echo "------- BUILD CURL-7.50.2 --------"
echo "----------------------------------"
echo ""
make_symlink_if_needed curl-7.50.2
cd ../mac3rdParty/curl-7.50.2/
cd ../../curl-7.50.2/
if [ $? -eq 0 ]; then
source "${SCRIPT_DIR}/buildcurl.sh" ${cleanit}
if [ $? -eq 0 ]; then
@ -150,9 +125,7 @@ echo "----- BUILD wxWidgets-3.0.0 ------"
echo "----------------------------------"
echo ""
make_symlink_if_needed wxWidgets-3.0.0
cd ../mac3rdParty/wxWidgets-3.0.0/
cd ../../wxWidgets-3.0.0/
if [ $? -eq 0 ]; then
source "${SCRIPT_DIR}/buildWxMac.sh" ${cleanit}
if [ $? -eq 0 ]; then
@ -168,9 +141,7 @@ echo "------- BUILD sqlite-3.11.0 -------"
echo "----------------------------------"
echo ""
make_symlink_if_needed sqlite-autoconf-3110000
cd ../mac3rdParty/sqlite-autoconf-3110000/
cd ../../sqlite-autoconf-3110000/
if [ $? -eq 0 ]; then
source "${SCRIPT_DIR}/buildsqlite3.sh" ${cleanit}
if [ $? -eq 0 ]; then
@ -186,9 +157,7 @@ echo "----- BUILD FreeType-2.6.2 ------"
echo "----------------------------------"
echo ""
make_symlink_if_needed freetype-2.6.2
cd ../mac3rdParty/freetype-2.6.2/
cd ../../freetype-2.6.2/
if [ $? -eq 0 ]; then
source "${SCRIPT_DIR}/buildfreetype.sh" ${cleanit}
if [ $? -eq 0 ]; then
@ -204,9 +173,7 @@ echo "------ BUILD FTGL-2.1.3~rc5 ------"
echo "----------------------------------"
echo ""
make_symlink_if_needed ftgl-2.1.3~rc5
cd ../mac3rdParty/ftgl-2.1.3~rc5/
cd ../../ftgl-2.1.3~rc5/
if [ $? -eq 0 ]; then
source "${SCRIPT_DIR}/buildFTGL.sh" ${cleanit}
if [ $? -eq 0 ]; then