Skip to content

Commit

Permalink
Add support for a new Apple-style build target, EmbeddedSim, that builds
Browse files Browse the repository at this point in the history
llvmCore for the iOS Simulator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108922 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
bob-wilson committed Jul 20, 2010
1 parent 56ff3f1 commit 273e48b
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 6 deletions.
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@ cross-compile-build-tools:
--host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE); \
cd .. ; \
fi; \
($(MAKE) -C BuildTools \
(unset SDKROOT; \
$(MAKE) -C BuildTools \
BUILD_DIRS_ONLY=1 \
UNIVERSAL= \
ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
Expand Down
14 changes: 11 additions & 3 deletions utils/buildit/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,9 @@ endif
# Default to not install libLTO.dylib.
INSTALL_LIBLTO := no

# Default to do a native build, not a cross-build for an ARM host.
# Default to do a native build, not a cross-build for an ARM host or simulator.
ARM_HOSTED_BUILD := no
IOS_SIM_BUILD := no

ifndef RC_ProjectSourceVersion
RC_ProjectSourceVersion = 9999
Expand All @@ -66,12 +67,19 @@ install: $(OBJROOT) $(SYMROOT) $(DSTROOT)
$(SRC)/utils/buildit/build_llvm "$(RC_ARCHS)" "$(TARGETS)" \
$(SRC) $(PREFIX) $(DSTROOT) $(SYMROOT) \
$(ENABLE_ASSERTIONS) $(LLVM_OPTIMIZED) $(INSTALL_LIBLTO) \
$(ARM_HOSTED_BUILD) \
$(ARM_HOSTED_BUILD) $(IOS_SIM_BUILD) \
$(RC_ProjectSourceVersion) $(RC_ProjectSourceSubversion)

EmbeddedHosted:
$(MAKE) ARM_HOSTED_BUILD=yes PREFIX=/usr install

# When building for the iOS simulator, MACOSX_DEPLOYMENT_TARGET is not set
# by default, but it needs to be set when building tools that run on the host
# (e.g., tblgen), so set it here.
EmbeddedSim:
export MACOSX_DEPLOYMENT_TARGET=`sw_vers -productVersion`; \
$(MAKE) IOS_SIM_BUILD=yes PREFIX=/usr install

# installhdrs does nothing, because the headers aren't useful until
# the compiler is installed.
installhdrs:
Expand Down Expand Up @@ -120,4 +128,4 @@ clean:
$(OBJROOT) $(SYMROOT) $(DSTROOT):
mkdir -p $@

.PHONY: install installsrc clean EmbeddedHosted
.PHONY: install installsrc clean EmbeddedHosted EmbeddedSim
11 changes: 9 additions & 2 deletions utils/buildit/build_llvm
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,14 @@ INSTALL_LIBLTO="$9"
# A yes/no parameter that controls whether to cross-build for an ARM host.
ARM_HOSTED_BUILD="${10}"

# A yes/no parameter that controls whether to cross-build for the iOS simulator
IOS_SIM_BUILD="${11}"

# The version number of the submission, e.g. 1007.
LLVM_SUBMIT_VERSION="${11}"
LLVM_SUBMIT_VERSION="${12}"

# The subversion number of the submission, e.g. 03.
LLVM_SUBMIT_SUBVERSION="${12}"
LLVM_SUBMIT_SUBVERSION="${13}"

# The current working directory is where the build will happen. It may already
# contain a partial result of an interrupted build, in which case this script
Expand Down Expand Up @@ -124,6 +127,10 @@ fi
if [ "$ARM_HOSTED_BUILD" = yes ]; then
configure_opts="--enable-targets=arm --host=arm-apple-darwin10 \
--target=arm-apple-darwin10 --build=i686-apple-darwin10"
elif [ "$IOS_SIM_BUILD" = yes ]; then
# Use a non-standard "darwin_sim" host triple to trigger a cross-build.
configure_opts="--enable-targets=x86 --host=i686-apple-darwin_sim \
--build=i686-apple-darwin10"
else
configure_opts="--enable-targets=arm,x86,powerpc,cbe"
fi
Expand Down

0 comments on commit 273e48b

Please sign in to comment.