From 4e57f04b6376d8f5a0c3cb5e7202e4351b3b4d2f Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 18 Oct 2011 01:11:08 -0400 Subject: [PATCH] Removed rakefile. This was originally from a third party, under a different license than SDL, so it has to go. --- Xcode-iPhoneOS/rakefile | 219 ---------------------------------------- 1 file changed, 219 deletions(-) delete mode 100644 Xcode-iPhoneOS/rakefile diff --git a/Xcode-iPhoneOS/rakefile b/Xcode-iPhoneOS/rakefile deleted file mode 100644 index 922c0b1e0..000000000 --- a/Xcode-iPhoneOS/rakefile +++ /dev/null @@ -1,219 +0,0 @@ -# ------------------------------------------------------------------------------ -# Builds a SDL framework for the iOS -# Copyright (c) 2011 Andrey Nesterov -# See LICENSE for licensing information -# ------------------------------------------------------------------------------ -# -# Creates a pseudo-framework which contains a universal library that can be used -# on a iOS and in the iOS simulator -# -# ------------------------------------------------------------------------------ -# -# To configure the script, define: -# Conf configuration, symbol (:release or :debug) -# SDK version number of the iOS SDK, symbol (e.g. :"4.3") -# Arch architecture for the device's library, symbol (e.g. :armv6 or :armv7) -# -# ------------------------------------------------------------------------------ - -# --- Configure ---------------------------------------------------------------- -module Configure - Conf = :release - SDK = :"4.3" - Arch = :armv7 -end - -# --- Constants ---------------------------------------------------------------- -module Global - RootDir = Dir.pwd - SourceDir = "#{RootDir}" - BuildDir = "#{RootDir}/build" -end - -# --- Common ------------------------------------------------------------------- -module Builder - def get_sources(from, to) - refresh_dir to - yield from, to - end - - def build_library(project, dest, target, conf, sdk, arch) - print "\n" - dest = library_bundle_path(dest, conf, sdk, arch) - sdk, arch = compute_platform(sdk, arch) - conf = configuration(conf) - - refresh_dir dest - refresh_dir "#{dest}.build" - - proj_dir, proj_fname = File.split project - cd proj_dir - args = Array.new() - args.push("xcodebuild") - args.push("-project #{proj_fname}") - args.push("-sdk #{sdk}") - args.push("-configuration \"#{conf}\"") - args.push("-target \"#{target}\"") - # NATIVE_ARCH has no effect - #args.push("NATIVE_ARCH=#{arch.to_str}") - args.push("-arch #{arch.to_str}") - args.push("TARGETED_DEVICE_FAMILY=2") # 2 => iPad, 1 => iPhone - args.push("BUILT_PRODUCTS_DIR=\"build\"") - args.push("CONFIGURATION_BUILD_DIR=\"#{dest}\"") - args.push("CONFIGURATION_TEMP_DIR=\"#{dest}.build\"") - cmd = args.join(' ') - #print "\n" - print "#{cmd}\n" - `#{cmd}` - end - - def build_framework_library(frameworkLib, deviceLib, simulatorLib) - print "\n" - refresh_dir File.dirname frameworkLib - cmd = "lipo -create #{deviceLib} #{simulatorLib} -o #{frameworkLib}" - print "#{cmd}\n" - `#{cmd}` - end - - def build_framework(name, version, identifier, dest, headers, project, target, conf, sdk, arch) - libFileName = "lib#{name}.a"; - libFilePath = "#{dest}/universal-#{conf}/#{libFileName}" - - build_library(project, dest, target, conf, sdk, arch); - build_library(project, dest, target, conf, sdk, :i386); - - build_framework_library( - libFilePath, - "#{library_bundle_path(dest, conf, sdk, arch)}/#{libFileName}", - "#{library_bundle_path(dest, conf, sdk, :i386)}/#{libFileName}" - ) - # Static library has version A - create_framework(name, "A", identifier, dest, headers, libFilePath) - end - - def create_framework(name, version, identifier, dest, headers, lib) - print "\n" - frameworkVersion = version - frameworkBundle = framework_bundle_path(dest, name) - - # creating framework's directories - refresh_dir frameworkBundle - mkdir "#{frameworkBundle}/Versions" - mkdir "#{frameworkBundle}/Versions/#{frameworkVersion}" - mkdir "#{frameworkBundle}/Versions/#{frameworkVersion}/Resources" - mkdir "#{frameworkBundle}/Versions/#{frameworkVersion}/Headers" - mkdir "#{frameworkBundle}/Versions/#{frameworkVersion}/Documentation" - - # creating framework's symlinks - `ln -s "#{frameworkVersion}" "#{frameworkBundle}/Versions/Current"` - `ln -s "Versions/Current/Headers" "#{frameworkBundle}/Headers"` - `ln -s "Versions/Current/Resources" "#{frameworkBundle}/Resources"` - `ln -s "Versions/Current/Documentation" "#{frameworkBundle}/Documentation"` - `ln -s "Versions/Current/#{File.basename lib}" "#{frameworkBundle}/#{name}"` - - # copying lib - cp lib, "#{frameworkBundle}/Versions/#{frameworkVersion}" - - # copying the header files. Copy everything found in the headers directory. - FileList["#{headers}/*.h"].each do |source| - cp source, "#{frameworkBundle}/Headers" - end - - # creating plist - File.open("#{frameworkBundle}/Resources/Info.plist", "w") do |f| - f.puts ' - -' - f.puts "\ - - CFBundleDevelopmentRegion - English - CFBundleExecutable - #{name} - CFBundleIdentifier - #{identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleSignature - ???? - CFBundleVersion - #{version} - -" - end - end - - def library_bundle_path(path, conf, sdk, arch) - sdk, arch = compute_platform(sdk, arch) - "#{path}/#{sdk}-#{conf}" - end - - def framework_bundle_path(path, name) - "#{path}/#{name}.framework" - end - - def configuration(conf) - conf.to_s - end - - def compute_platform(sdk, arch) - return [sdk, arch] if arch.class == String - [arch == :i386 ? "iphonesimulator" + sdk.to_s : "iphoneos" + sdk.to_s, arch.to_s] - end - - def refresh_dir(path) - rm_rf path if FileTest.exists? path - mkdir_p path - end - - private :configuration, :compute_platform, :refresh_dir -end - -class InstanceBuilder - class Instance - extend Builder - end - - def InstanceBuilder.message(text) - tailSize = 75 - text.length; - puts "--- #{text} #{'-' * (tailSize < 0 ? 0 : tailSize)}" - end -end - -# --- SDL ---------------------------------------------------------------------- -class SDL < InstanceBuilder - SourceDir = "#{Global::SourceDir}" - BuildDir = "#{Global::BuildDir}" - - def SDL.build_framework(conf, sdk, arch) - message "Building SDL" - Instance.build_framework( - "SDL", - "1.3", - "org.libsdl", - BuildDir, - "#{SourceDir}/include", - "#{SourceDir}/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj", - "libSDL", - conf, - sdk, - arch - ) - end - - def Instance.configuration(conf) - case conf - when :release - "Release" - when :debug - "Debug" - end - end -end - -# --- Tasks -------------------------------------------------------------------- -task :default do - SDL.build_framework Configure::Conf, Configure::SDK, Configure::Arch -end