diff --git a/mac/Audacity.sh b/mac/Audacity.sh new file mode 100755 index 000000000..9c856ab6c --- /dev/null +++ b/mac/Audacity.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# +# The purpose of this script is to give the user more control over where libraries +# such as Lame and FFmpeg get loaded from. +# +# Since absolute pathnames are used when loading these libraries, the normal search +# path would be DYLD_LIBRARY_PATH, absolute path, DYLD_FALLBACK_LIBRARY_PATH. This +# means that DYLD_LIBRARY_PATH can override what the user actually wants. +# +# So, we simply clear DYLD_LIBRARY_PATH to allow the users choice to be the first +# one tried. +# + +DYLD_FALLBACK_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$DYLD_FALLBACK_LIBRARY_PATH:$HOME/lib:/usr/local/lib:/usr/lib" +export DYLD_FALLBACK_LIBRARY_PATH + +DYLD_LIBRARY_PATH="" +export DYLD_LIBRARY_PATH + +dir=$(dirname "$0") +"$dir/Audacity" diff --git a/mac/Audacity.xcodeproj/project.pbxproj b/mac/Audacity.xcodeproj/project.pbxproj index 107807302..31ba571e0 100644 --- a/mac/Audacity.xcodeproj/project.pbxproj +++ b/mac/Audacity.xcodeproj/project.pbxproj @@ -890,6 +890,7 @@ 28BD8AB3101DF4C700686679 /* ExecMenuCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28BD8AAC101DF4C600686679 /* ExecMenuCommand.cpp */; }; 28BD8AB4101DF4C700686679 /* GetAllMenuCommands.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28BD8AAE101DF4C600686679 /* GetAllMenuCommands.cpp */; }; 28C3946D1818356800FDDAC9 /* AudacityLogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28C3946B1818356800FDDAC9 /* AudacityLogger.cpp */; }; + 28C816BA131255790035BB10 /* Audacity.sh in Install wrapper */ = {isa = PBXBuildFile; fileRef = 28C816B81312555B0035BB10 /* Audacity.sh */; }; 28C8211D1B5C661E00B53328 /* ViewInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28C8211C1B5C661E00B53328 /* ViewInfo.cpp */; }; 28CA9E6B1AE60C53005C0BFE /* dBTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82FF184D13CF01A600C1B664 /* dBTable.cpp */; }; 28CA9E6C1AE60C53005C0BFE /* dBTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 82FF184E13CF01A600C1B664 /* dBTable.h */; }; @@ -1491,6 +1492,17 @@ name = "Install miscellany"; runOnlyForDeploymentPostprocessing = 1; }; + 28C816B7131255550035BB10 /* Install wrapper */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 12; + dstPath = ""; + dstSubfolderSpec = 6; + files = ( + 28C816BA131255790035BB10 /* Audacity.sh in Install wrapper */, + ); + name = "Install wrapper"; + runOnlyForDeploymentPostprocessing = 0; + }; ED95519E195D956F0027176E /* Install background image */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 8; @@ -2685,6 +2697,7 @@ 28BD8AB0101DF4C600686679 /* Validators.h */ = {isa = PBXFileReference; fileEncoding = 5; indentWidth = 3; lastKnownFileType = sourcecode.c.h; path = Validators.h; sourceTree = ""; tabWidth = 3; }; 28C3946B1818356800FDDAC9 /* AudacityLogger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudacityLogger.cpp; sourceTree = ""; }; 28C3946C1818356800FDDAC9 /* AudacityLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudacityLogger.h; sourceTree = ""; }; + 28C816B81312555B0035BB10 /* Audacity.sh */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.script.sh; name = Audacity.sh; path = mac/Audacity.sh; sourceTree = ""; }; 28C8211C1B5C661E00B53328 /* ViewInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ViewInfo.cpp; sourceTree = ""; }; 28CBD65D1B9F7DF7003AC5EE /* pt_PT.po */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = pt_PT.po; path = ../locale/pt_PT.po; sourceTree = ""; }; 28CBD65E1B9F7DF7003AC5EE /* zh_CN.po */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = zh_CN.po; path = ../locale/zh_CN.po; sourceTree = ""; }; @@ -3913,6 +3926,7 @@ isa = PBXGroup; children = ( 174F73C8098D516D009CD6E0 /* Resources */, + 28C816B81312555B0035BB10 /* Audacity.sh */, 28006FFA132C167600BD34D7 /* Install.txt */, 178CF4FF0989541C0056CE58 /* configmac.h */, 174F73D7098D51AA009CD6E0 /* Info.plist */, @@ -6800,6 +6814,7 @@ 28708D631B17C3C400496FEB /* Copy wxWidgets libs */, 288F0980131A400F0008E860 /* Install manual */, 282413DA131D52CE009FD931 /* Install plugins */, + 28C816B7131255550035BB10 /* Install wrapper */, 2892CE28131AFB1900E1E17D /* Install miscellany */, ED95519E195D956F0027176E /* Install background image */, 282413D8131D51FC009FD931 /* Create dist */, @@ -8421,8 +8436,7 @@ SDKROOT = macosx10.6; SSE_CPPFLAGS = "-Xarch_i386 -DAPPLE_I386"; TOPLEVEL = ..; - WARNING_CFLAGS = ( - ); + WARNING_CFLAGS = ""; WX_CFLAGS = "-I$(WX_PREFIX)/lib/wx/include/osx_cocoa-unicode-$(WX_VER)-$(WX_FLAVOR) -I$(WX_PREFIX)/include/wx-$(WX_VER)-$(WX_FLAVOR) -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=1 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__"; WX_CONFIG = "$(WX_PREFIX)/bin/wx-config"; WX_CXXFLAGS = "$(WX_CFLAGS)"; @@ -8748,8 +8762,7 @@ SDKROOT = macosx10.6; SSE_CPPFLAGS = "-Xarch_i386 -DAPPLE_I386"; TOPLEVEL = ..; - WARNING_CFLAGS = ( - ); + WARNING_CFLAGS = ""; WX_CFLAGS = "-I$(WX_PREFIX)/lib/wx/include/osx_cocoa-unicode-$(WX_VER)-$(WX_FLAVOR) -I$(WX_PREFIX)/include/wx-$(WX_VER)-$(WX_FLAVOR) -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__"; WX_CONFIG = "$(WX_PREFIX)/bin/wx-config"; WX_CXXFLAGS = "$(WX_CFLAGS)"; diff --git a/mac/scripts/create_info_header.sh b/mac/scripts/create_info_header.sh index 15aa10999..b5df33c1e 100755 --- a/mac/scripts/create_info_header.sh +++ b/mac/scripts/create_info_header.sh @@ -21,8 +21,14 @@ done cd ${TOPLEVEL} mkdir -p mac/build eval $(g++ -E -dM src/Audacity.h | awk '/#define *AUDACITY_(VERSION|RELEASE|REVISION|MODLEVEL) /{print $2 "=" $3}') +if [ $CONFIGURATION == 'Debug' ] +then + AUDACITY_EXECUTABLE=Audacity +else + AUDACITY_EXECUTABLE=Audacity.sh +fi cat >mac/build/Info.plist.h <