auto merge of #10227 : kud1ing/rust/ios, r=alexcrichton

This commit is contained in:
bors 2013-11-06 14:01:14 -08:00
commit 22eb11c09b
5 changed files with 26 additions and 7 deletions

View File

@ -195,8 +195,8 @@ CFG_RUN_TARG_i686-unknown-linux-gnu=$(call CFG_RUN_i686-unknown-linux-gnu,,$(2))
# arm-apple-darwin configuration
ifeq ($(CFG_OSTYPE),apple-darwin)
CFG_IOS_SDK = $(shell xcrun --show-sdk-path -sdk iphoneos)
CFG_IOS_FLAGS = -target arm-apple-darwin -isysroot $(CFG_IOS_SDK) -I $(CFG_IOS_SDK)/usr/include -I $(CFG_IOS_SDK)/usr/include/c++/4.2.1 -I /usr/include
CFG_IOS_SDK = $(shell xcrun --show-sdk-path -sdk iphoneos 2>/dev/null)
CFG_IOS_FLAGS = -target arm-apple-darwin -isysroot $(CFG_IOS_SDK) -I$(CFG_IOS_SDK)/usr/include -I$(CFG_IOS_SDK)/usr/include/c++/4.2.1
CC_arm-apple-darwin = $(shell xcrun -find -sdk iphoneos clang)
CXX_arm-apple-darwin = $(shell xcrun -find -sdk iphoneos clang++)
CPP_arm-apple-darwin = $(shell xcrun -find -sdk iphoneos clang++)

View File

@ -28,6 +28,13 @@ LIBUV_FLAGS_i386 = -m32 -fPIC -I$(S)src/etc/mingw-fix-include
LIBUV_FLAGS_x86_64 = -m64 -fPIC
ifeq ($(OSTYPE_$(1)), linux-androideabi)
LIBUV_FLAGS_arm = -fPIC -DANDROID -std=gnu99
else ifeq ($(OSTYPE_$(1)), apple-darwin)
ifeq ($(HOST_$(1)), arm)
IOS_SDK := $(shell xcrun --show-sdk-path -sdk iphoneos 2>/dev/null)
LIBUV_FLAGS_arm := -fPIC -std=gnu99 -I$(IOS_SDK)/usr/include -I$(IOS_SDK)/usr/include/c++/4.2.1
else
LIBUV_FLAGS_arm := -fPIC -std=gnu99
endif
else
LIBUV_FLAGS_arm = -fPIC -std=gnu99
endif

View File

@ -6,8 +6,11 @@
.text
.code 32
.arm
#if defined(__APPLE__)
.align 2
#else
.align
#endif
.globl swap_registers
swap_registers:

View File

@ -6,8 +6,11 @@
.text
.code 32
.arm
#if defined(__APPLE__)
.align 2
#else
.align
#endif
.globl record_sp_limit
.globl get_sp_limit

View File

@ -17,8 +17,14 @@
#include <time.h>
#ifdef __APPLE__
#include <crt_externs.h>
#include <mach/mach_time.h>
#include <TargetConditionals.h>
#include <mach/mach_time.h>
#if (TARGET_OS_IPHONE)
extern char **environ;
#else
#include <crt_externs.h>
#endif
#endif
#if !defined(__WIN32__)
@ -57,7 +63,7 @@ rust_env_pairs() {
#else
extern "C" CDECL char**
rust_env_pairs() {
#ifdef __APPLE__
#if defined(__APPLE__) && !(TARGET_OS_IPHONE)
char **environ = *_NSGetEnviron();
#endif
return environ;