From 28ebace7c6d06b4e3d3b54bf584fc3f0b53a0397 Mon Sep 17 00:00:00 2001 From: Francisco Tolmasky Date: Thu, 19 Mar 2009 04:06:21 -0700 Subject: [PATCH] Began supporting non-framework bundles in gem. --- Rake/lib/objective-j/bundletask.rb | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/Rake/lib/objective-j/bundletask.rb b/Rake/lib/objective-j/bundletask.rb index 10d6abe44..a72a6e818 100644 --- a/Rake/lib/objective-j/bundletask.rb +++ b/Rake/lib/objective-j/bundletask.rb @@ -432,12 +432,28 @@ module ObjectiveJ file_d executable_path => info_plist_path sources.each do |source| - - preprocessed_file = File.join(build_path, PLATFORM_DIRECTORIES[platform], File.basename(source)) - - file_d preprocessed_file => source do - IO.popen("objjc #{resolve_flags(flags)} #{resolve_flags(PLATFORM_FLAGS[platform])} #{source} -o #{preprocessed_file}") do |objjc| - puts objjc.read + + # This needs to be way better. + if File.basename(source) == 'index.html' + preprocessed_file = File.join(build_path, File.basename(source)) + else + preprocessed_file = File.join(build_path, PLATFORM_DIRECTORIES[platform], File.basename(source)) + end + + # Use objjc for .j files + if (File.extname(preprocessed_file) == '.j') + file_d preprocessed_file => source do + IO.popen("objjc #{resolve_flags(flags)} #{resolve_flags(PLATFORM_FLAGS[platform])} #{source} -o #{preprocessed_file}") do |objjc| + puts objjc.read + end + end + + # If not just run them through the C preprocessor. + else + file_d preprocessed_file => source do + IO.popen("gcc #{resolve_flags(flags)} #{resolve_flags(PLATFORM_FLAGS[platform])} -E -x c -P #{source} -o #{preprocessed_file}") do |preprocessor| + puts preprocessor.read + end end end