diff --git a/mac_build/buildWxMac.sh b/mac_build/buildWxMac.sh index f8d3117979..371760dfb7 100644 --- a/mac_build/buildWxMac.sh +++ b/mac_build/buildWxMac.sh @@ -32,7 +32,7 @@ # Disable all wxWidgets debug support in Release build (revert 3/6/14 change) 5/29/14 # Fix wxListCtrl flicker when resizing columns in wxCocoa 3.0.0 6/13/14 # Revise fix for wxListCtrl flicker to match the fix in wxWidgets trunk 6/19/14 -# Build 64-bit library (temporarily build both 32-bit and 64-bit libraries) 10/18/17 +# Build 64-bit library (temporarily build both 32-bit and 64-bit libraries) 10/22/17 # ## This script requires OS 10.6 or later ## @@ -180,17 +180,26 @@ if [ $? -eq 0 ]; then fi retval=0 +alreadyBuilt=0 if [ "${doclean}" != "clean" ] && [ -f "${libPathRel}/libwx_osx_cocoa_static.a" ]; then + lipo "${libPathRel}/libwx_osx_cocoa_static.a" -verify_arch i386 x86_64 + if [ $? -eq 0 ]; then + alreadyBuilt=1 + else + # already built but not for correct architectures + doclean="clean" + fi +fi + +if [ alreadyBuilt -eq 1 ]; then cwd=$(pwd) dirname=${cwd##*/} echo "${dirname} Release libwx_osx_cocoa_static.a already built" else - -## export DEVELOPER_SDK_DIR="/Developer/SDKs" ## We must override some of the build settings in wxWindows.xcodeproj ## For wxWidgets 3.0.0 through 3.1.0 (at least) we must use legacy WebKit APIs - ## for x85_64, so we must define WK_API_ENABLED=0 + ## for x86_64, so we must define WK_API_ENABLED=0 xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Release $doclean build ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=="NO" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -DNDEBUG -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DwxDEBUG_LEVEL=0 -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden" GCC_PREPROCESSOR_DEFINITIONS="WXBUILDING __WXOSX_COCOA__ __WX__ wxUSE_BASE=1 _FILE_OFFSET_BITS=64 _LARGE_FILES MACOS_CLASSIC __WXMAC_XCODE__=1 SCI_LEXER WX_PRECOMP=1 wxUSE_UNICODE_UTF8=1 wxUSE_UNICODE_WCHAR=0" | $beautifier; retval=${PIPESTATUS[0]} if [ ${retval} -ne 0 ]; then return 1; fi if [ "x${lprefix}" != "x" ]; then @@ -208,15 +217,25 @@ if [ "${nodebug}" = "yes" ]; then return 0 fi +alreadyBuilt=0 if [ "${doclean}" != "clean" ] && [ -f "${libPathDbg}/libwx_osx_cocoa_static.a" ]; then + lipo "${libPathDbg}/libwx_osx_cocoa_static.a" -verify_arch i386 x86_64 + if [ $? -eq 0 ]; then + alreadyBuilt=1 + else + # already built but not for correct architectures + doclean="clean" + fi +fi + +if [ alreadyBuilt -eq 1 ]; then cwd=$(pwd) dirname=${cwd##*/} echo "${dirname} Debug libwx_osx_cocoa_static.a already built" else -## export DEVELOPER_SDK_DIR="/Developer/SDKs" ## We must override some of the build settings in wxWindows.xcodeproj ## For wxWidgets 3.0.0 through 3.1.0 (at least) we must use legacy WebKit APIs - ## for x85_64, so we must define WK_API_ENABLED=0 + ## for x86_64, so we must define WK_API_ENABLED=0 xcodebuild -project build/osx/wxcocoa.xcodeproj -target static -configuration Debug $doclean build ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=="NO" OTHER_CFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DDEBUG -fvisibility=hidden" OTHER_CPLUSPLUSFLAGS="-Wall -Wundef -fno-strict-aliasing -fno-common -DWK_API_ENABLED=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DwxUSE_UNICODE=1 -DDEBUG -fvisibility=hidden -fvisibility-inlines-hidden" GCC_PREPROCESSOR_DEFINITIONS="WXBUILDING __WXOSX_COCOA__ __WX__ wxUSE_BASE=1 _FILE_OFFSET_BITS=64 _LARGE_FILES MACOS_CLASSIC __WXMAC_XCODE__=1 SCI_LEXER WX_PRECOMP=1 wxUSE_UNICODE_UTF8=1 wxUSE_UNICODE_WCHAR=0" | $beautifier; retval=${PIPESTATUS[0]} if [ ${retval} -ne 0 ]; then return 1; fi if [ "x${lprefix}" != "x" ]; then diff --git a/mac_build/buildsqlite3.sh b/mac_build/buildsqlite3.sh index f5cf975f1d..e59df6e046 100644 --- a/mac_build/buildsqlite3.sh +++ b/mac_build/buildsqlite3.sh @@ -25,7 +25,7 @@ # Updated 2/11/14 for sqlite 3.8.3 # Updated 1/5/16 for sqlite 3.9.2 # Updated 3/2/16 for sqlite 3.11.0 -# Updated 10/18/17 to build 64-bit library (temporarily build both 32-bit and 64-bit libraries) +# Updated 10/22/17 to build 64-bit library (temporarily build both 32-bit and 64-bit libraries) # ## This script requires OS 10.6 or later # @@ -67,10 +67,16 @@ done if [ "${doclean}" != "yes" ]; then if [ -f "${libPath}/libsqlite3.a" ]; then - cwd=$(pwd) - dirname=${cwd##*/} - echo "${dirname} already built" - return 0 + lipo "${libPath}/libsqlite3.a" -verify_arch i386 x86_64 + if [ $? -eq 0 ]; then + cwd=$(pwd) + dirname=${cwd##*/} + echo "${dirname} already built" + return 0 + else + # already built but not for correct architectures + doclean="yes" + fi fi fi