X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9f2b6b31b7020e0ca3c82c4ef57dabbdda89f690..cb8ae61385f1c65552585cb55d8f7bd9f1f690b4:/build/tools/build-wxwidgets.py diff --git a/build/tools/build-wxwidgets.py b/build/tools/build-wxwidgets.py index 548bb10456..a0866e4b2c 100755 --- a/build/tools/build-wxwidgets.py +++ b/build/tools/build-wxwidgets.py @@ -55,6 +55,12 @@ def numCPUs(): return 1 # Default +def getXcodePath(): + p = subprocess.Popen("xcode-select -print-path", shell=True, stdout=subprocess.PIPE) + output = p.stdout.read() + return output.strip() + + def exitIfError(code, msg): if code != 0: print msg @@ -174,6 +180,7 @@ def main(scriptName, args): "mac_framework" : (False, "Install the Mac build as a framework"), "mac_framework_prefix" : (defFwPrefix, "Prefix where the framework should be installed. Default: %s" % defFwPrefix), + "cairo" : (False, "Enable dynamicly loading the Cairo lib for wxGraphicsContext on MSW"), "no_config" : (False, "Turn off configure step on autoconf builds"), "config_only" : (False, "Only run the configure step and then exit"), "rebake" : (False, "Regenerate Bakefile and autoconf files"), @@ -182,7 +189,6 @@ def main(scriptName, args): "cocoa" : (False, "Build the old Mac Cooca port."), "osx_cocoa" : (False, "Build the new Cocoa port"), "shared" : (False, "Build wx as a dynamic library"), - "cairo" : (False, "Build support for wxCairoContext (always true on GTK+)"), "extra_make" : ("", "Extra args to pass on [n]make's command line."), "features" : ("", "A comma-separated list of wxUSE_XYZ defines on Win, or a list of configure flags on unix."), "verbose" : (False, "Print commands as they are run, (to aid with debugging this script)"), @@ -260,13 +266,21 @@ def main(scriptName, args): # developer. TODO: there should be a command line option to set # the SDK... if sys.platform.startswith("darwin"): + xcodePath = getXcodePath() + sdks = [ + xcodePath+"/SDKs/MacOSX10.5.sdk", + xcodePath+"/SDKs/MacOSX10.6.sdk", + xcodePath+"/SDKs/MacOSX10.7.sdk", + ] if not options.osx_cocoa: - wxpy_configure_opts.append( - "--with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk") - else: - wxpy_configure_opts.append( - "--with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk") - + sdks.insert(0, xcodePath+"/SDKs/MacOSX10.4u.sdk") + + # use the lowest available sdk + for sdk in sdks: + if os.path.exists(sdk): + wxpy_configure_opts.append( + "--with-macosx-sdk=%s" % sdk) + break if not options.mac_framework: if installDir and not prefixDir: @@ -343,6 +357,8 @@ def main(scriptName, args): flags["wxUSE_UNICODE_MSLU"] = "1" if options.cairo: + if not os.environ.get("CAIRO_ROOT"): + print "WARNING: Expected CAIRO_ROOT set in the environment!" flags["wxUSE_CAIRO"] = "1" if options.wxpython: @@ -361,7 +377,7 @@ def main(scriptName, args): if VERSION >= (2,9): flags["wxUSE_UIACTIONSIMULATOR"] = "1" - + mswIncludeDir = os.path.join(wxRootDir, "include", "wx", "msw") setup0File = os.path.join(mswIncludeDir, "setup0.h") @@ -399,8 +415,11 @@ def main(scriptName, args): if options.shared: args.append("SHARED=1") + if options.cairo: - args.append("USE_CAIRO=1") + args.append( + "CPPFLAGS=/I%s" % + os.path.join(os.environ.get("CAIRO_ROOT", ""), 'include\\cairo')) wxBuilder = builder.MSVCBuilder() @@ -580,7 +599,7 @@ def main(scriptName, args): os.makedirs(packagedir) basename = os.path.basename(prefixDir.split(".")[0]) packageName = basename + "-" + getWxRelease() - packageMakerPath = "/Developer/usr/bin/packagemaker " + packageMakerPath = getXcodePath()+"/usr/bin/packagemaker " args = [] args.append("--root %s" % options.installdir) args.append("--id org.wxwidgets.%s" % basename.lower())