diff --git a/Android.mk b/Android.mk
index 0b02fdb..de7b9d4 100644
--- a/Android.mk
+++ b/Android.mk
@@ -2,9 +2,5 @@
 # through the 'm' or 'mm' build commands. if not, we use the
 # standard QEMU Makefile
 #
-ifeq ($(DEFAULT_GOAL),droid)
-    LOCAL_PATH:= $(call my-dir)
-    include $(LOCAL_PATH)/Makefile.android
-else
-    include Makefile.qemu
-endif
+LOCAL_PATH:= $(call my-dir)
+include $(LOCAL_PATH)/Makefile.android
diff --git a/Makefile.android b/Makefile.android
index a60c424..e377549 100644
--- a/Makefile.android
+++ b/Makefile.android
@@ -21,6 +21,7 @@
 
 MY_CC  := $(HOST_CC)
 MY_CXX := $(HOST_CXX)
+MY_LD  := $(HOST_LD)
 MY_AR  := $(HOST_AR)
 
 MY_CFLAGS := $(CONFIG_INCLUDES) -O2 -g -fno-PIC -falign-functions=0 -fomit-frame-pointer
@@ -34,6 +35,7 @@
 endif
 
 MY_LDLIBS :=
+MY_LDFLAGS :=
 
 ifeq ($(HOST_OS),freebsd)
   MY_CFLAGS += -I /usr/local/include
@@ -76,6 +78,17 @@
     endif
 endif
 
+# NOTE: The following definitions are only used by the standalone build.
+MY_EXEEXT :=
+MY_DLLEXT := .so
+ifeq ($(HOST_OS),windows)
+  MY_EXEEXT := .exe
+  MY_DLLEXT := .dll
+endif
+ifeq ($(HOST_OS),darwin)
+  MY_DLLEXT := .dylib
+endif
+
 # Some CFLAGS below use -Wno-missing-field-initializers but this is not
 # supported on GCC 3.x which is still present under Cygwin.
 # Find out by probing GCC for support of this flag. Note that the test
@@ -121,11 +134,11 @@
 ifneq ($(combo_target)$(TARGET_SIMULATOR),HOST_true)
   ifneq ($(BUILD_HOST_64bit),)
     MY_CFLAGS += -m64
-    MY_LDLIBS += -m64
+    MY_LDFLAGS += -m64
   else
     ifneq ($(HOST_ARCH),x86_64)
       MY_CFLAGS += -m32
-      MY_LDLIBS += -m32
+      MY_LDFLAGS += -m32
     endif
   endif
 
@@ -148,6 +161,12 @@
 # android-configure.sh
 MY_CFLAGS += -I$(LOCAL_PATH)/qapi-auto-generated
 
+ifneq (true,$(BUILD_STANDALONE_EMULATOR))
+my-host-tool = $(MY_$1)
+else
+my-host-tool = $(if $(strip $(LOCAL_HOST_BUILD)),$(BUILD_$1),$(MY_$1))
+endif
+
 # A useful function that can be used to start the declaration of a host
 # module. Avoids repeating the same stuff again and again.
 # Usage:
@@ -161,16 +180,12 @@
 start-emulator-library = \
     $(eval include $(CLEAR_VARS)) \
     $(eval LOCAL_NO_DEFAULT_COMPILER_FLAGS := true) \
-    $(eval LOCAL_CC := $(MY_CC)) \
-    $(eval LOCAL_CXX := $(MY_CXX)) \
-    $(eval LOCAL_CFLAGS := $(MY_CFLAGS)) \
-    $(eval LOCAL_AR := $(MY_AR)) \
-    $(eval LOCAL_LDLIBS := $(MY_LDLIBS)) \
     $(eval LOCAL_MODULE := $1) \
     $(eval LOCAL_MODULE_CLASS := STATIC_LIBRARIES)
 
 # Used with start-emulator-library
 end-emulator-library = \
+    $(eval $(end-emulator-module-ev)) \
     $(eval include $(BUILD_HOST_STATIC_LIBRARY))
 
 # A variant of start-emulator-library to start the definition of a host
@@ -182,8 +197,18 @@
 # A varient of end-emulator-library for host programs instead
 end-emulator-program = \
     $(eval LOCAL_LDLIBS += $(QEMU_SYSTEM_LDLIBS)) \
+    $(eval $(end-emulator-module-ev)) \
     $(eval include $(BUILD_HOST_EXECUTABLE))
 
+define end-emulator-module-ev
+LOCAL_CC := $$(call my-host-tool,CC)
+LOCAL_CXX := $$(call my-host-tool,CXX)
+LOCAL_AR := $$(call my-host-tool,AR)
+LOCAL_LD := $$(call my-host-tool,LD)
+LOCAL_CFLAGS := $$(call my-host-tool,CFLAGS) $$(LOCAL_CFLAGS)
+LOCAL_LDFLAGS := $$(call my-host-tool,LDFLAGS) $$(LOCAL_LDFLAGS)
+LOCAL_LDLIBS := $$(LOCAL_LDLIBS) $$(call my-host-tool,LDLIBS)
+endef
 
 # The common libraries
 #
@@ -283,6 +308,22 @@
 
 include $(LOCAL_PATH)/Makefile.tests
 
+##############################################################################
+##############################################################################
+###
+###  GPU emulation libraries
+###
+###  Build directly from sources when using the standalone build.
+###
+ifeq (true,$(BUILD_STANDALONE_EMULATOR))
+  ifeq (,$(strip $(wildcard $(EMULATOR_EMUGL_SOURCES_DIR))))
+    $(error Cannot find GPU emulation sources directory: $(EMULATOR_EMUGL_SOURCES_DIR))
+  endif
+
+  BUILD_EMULATOR_OPENGL := true
+  include $(EMULATOR_EMUGL_SOURCES_DIR)/Android.mk
+endif
+
 ## VOILA!!
 
 endif  # BUILD_EMULATOR == true || BUILD_STANDALONE_EMULATOR == true
diff --git a/android-configure.sh b/android-configure.sh
index 8abfd52..bfda5e2 100755
--- a/android-configure.sh
+++ b/android-configure.sh
@@ -24,7 +24,7 @@
 OPTION_STATIC=no
 OPTION_MINGW=no
 
-GLES_LIBS=
+GLES_DIR=
 GLES_SUPPORT=no
 GLES_PROBE=yes
 
@@ -63,8 +63,7 @@
   ;;
   --static) OPTION_STATIC=yes
   ;;
-  --gles-libs=*) GLES_LIBS=$optarg
-  GLES_SUPPORT=yes
+  --gles-dir=*) GLES_DIR=$optarg
   ;;
   --no-gles) GLES_PROBE=no
   ;;
@@ -97,7 +96,7 @@
     echo "  --static                 build a completely static executable"
     echo "  --verbose                verbose configuration"
     echo "  --debug                  build debug version of the emulator"
-    echo "  --gles-libs=PATH         specify path to GLES emulation host libraries"
+    echo "  --gles-dir=PATH          specify path to GLES host emulation sources [auto-detected]"
     echo "  --no-gles                disable GLES emulation support"
     echo "  --no-pcbios              disable copying of PC Bios files"
     echo ""
@@ -139,6 +138,18 @@
 esac
 
 TARGET_OS=$OS
+
+setup_toolchain
+
+BUILD_AR=$AR
+BUILD_CC=$CC
+BUILD_CXX=$CC
+BUILD_LD=$LD
+BUILD_AR=$AR
+BUILD_CFLAGS=$CFLAGS
+BUILD_CXXFLAGS=$CXXFLAGS
+BUILD_LDFLAGS=$LDFLAGS
+
 if [ "$OPTION_MINGW" = "yes" ] ; then
     enable_linux_mingw
     TARGET_OS=windows
@@ -161,27 +172,6 @@
     IN_ANDROID_BUILD=no
 fi
 
-# This is the list of static and shared host libraries we need to link
-# against in order to support OpenGLES emulation properly. Note that in
-# the case of a standalone build, we will find these libraries inside the
-# platform build tree and copy them into objs/lib/ automatically, unless
-# you use --gles-libs to point explicitely to a different directory.
-#
-GLES_SHARED_LIBRARIES="\
-  libOpenglRender \
-  libGLES_CM_translator \
-  libGLES_V2_translator \
-  libEGL_translator"
-
-if [ "$OPTION_MINGW" != "yes" ]; then
-  # There are no 64-bit libraries for Windows yet!
-  GLES_SHARED_LIBRARIES="$GLES_SHARED_LIBRARIES \
-    lib64OpenglRender \
-    lib64GLES_CM_translator \
-    lib64GLES_V2_translator \
-    lib64EGL_translator"
-fi
-
 if [ "$IN_ANDROID_BUILD" = "yes" ] ; then
     locate_android_prebuilt
 
@@ -214,22 +204,10 @@
     else
         log "Tools      : Could not locate $TOOLS_PROPS !?"
     fi
-
-    GLES_PROBE_LIB_DIR=$(dirname "$HOST_BIN")/lib
-    case $GLES_PROBE_LIB_DIR in
-        */windows/lib)
-            GLES_PROBE_LIB_DIR=${GLES_PROBE_LIB_DIR%%/windows/lib}/windows-x86/lib
-            ;;
-    esac
 else
     if [ "$USE_CCACHE" != 0 ]; then
         CCACHE=$(which ccache 2>/dev/null)
     fi
-    GLES_PROBE_OS=$TARGET_OS
-    if [ "$GLES_PROBE_OS" = "windows" ]; then
-      GLES_PROBE_OS=windows-x86
-    fi
-    GLES_PROBE_LIB_DIR=../../out/host/$GLES_PROBE_OS/lib
 fi  # IN_ANDROID_BUILD = no
 
 if [ -n "$CCACHE" -a -f "$CCACHE" ] ; then
@@ -243,41 +221,26 @@
 # Try to find the GLES emulation headers and libraries automatically
 if [ "$GLES_PROBE" = "yes" ]; then
     GLES_SUPPORT=yes
-    if [ -z "$GLES_LIBS" ]; then
-        log "GLES       : Probing for host libraries"
-        GLES_LIBS=$GLES_PROBE_LIB_DIR
-        if [ -d "$GLES_LIBS" ]; then
-            echo "GLES       : Libs in $GLES_LIBS"
-        else
-            echo "Warning: Could nof find OpenGLES emulation libraries in: $GLES_LIBS"
+    if [ -z "$GLES_DIR" ]; then
+        GLES_DIR=../../sdk/emulator/opengl
+        log2 "GLES       : Probing source dir: $GLES_DIR"
+        if [ ! -d "$GLES_DIR" ]; then
+            GLES_DIR=../opengl
+            log2 "GLES       : Probing source dir: $GLES_DIR"
+            if [ ! -d "$GLES_DIR" ]; then
+                GLES_DIR=
+            fi
+        fi
+        if [ -z "$GLES_DIR" ]; then
+            echo "GLES       : Could not find GPU emulation sources!"
             GLES_SUPPORT=no
+        else
+            echo "GLES       : Found GPU emulation sources: $GLES_DIR"
+            GLES_SUPPORT=yes
         fi
     fi
 fi
 
-if [ "$GLES_SUPPORT" = "yes" ]; then
-    mkdir -p objs/lib
-
-    for lib in $GLES_SHARED_LIBRARIES; do
-        GLES_LIB=$GLES_LIBS/${lib}$TARGET_DLL_SUFFIX
-        if [ ! -f "$GLES_LIB" ]; then
-            echo "ERROR: Missing OpenGLES emulation host library: $GLES_LIB"
-            echo "Please fix this by using --gles-libs to point to the right directory!"
-            if [ "$IN_ANDROID_BUILD" = "true" ]; then
-                echo "You might also be missing the library because you forgot to rebuild the whole platform!"
-            fi
-            exit 1
-        fi
-        cp $GLES_LIB objs/lib
-        if [ $? != 0 ]; then
-            echo "ERROR: Could not find required OpenGLES emulation library: $GLES_LIB"
-            exit 1
-        else
-            log "GLES       : Copying $GLES_LIB"
-        fi
-    done
-fi
-
 if [ "$PCBIOS_PROBE" = "yes" ]; then
     PCBIOS_DIR=$(dirname "$0")/../../prebuilts/qemu-kernel/x86/pc-bios
     if [ ! -d "$PCBIOS_DIR" ]; then
@@ -531,6 +494,21 @@
 # Build the config.make file
 #
 
+case $OS in
+    windows)
+        HOST_EXEEXT=.exe
+        HOST_DLLEXT=.dll
+        ;;
+    darwin)
+        HOST_EXEEXT=
+        HOST_DLLEXT=.dylib
+        ;;
+    *)
+        HOST_EXEEXT=
+        HOST_DLLEXT=
+        ;;
+esac
+
 case $TARGET_OS in
     windows)
         TARGET_EXEEXT=.exe
@@ -566,6 +544,18 @@
 echo "PREBUILT          := $ANDROID_PREBUILT" >> $config_mk
 echo "PREBUILTS         := $ANDROID_PREBUILTS" >> $config_mk
 
+echo "" >> $config_mk
+echo "BUILD_OS          := $HOST_OS" >> $config_mk
+echo "BUILD_ARCH        := $HOST_ARCH" >> $config_mk
+echo "BUILD_EXEEXT      := $HOST_EXEEXT" >> $config_mk
+echo "BUILD_DLLEXT      := $HOST_DLLEXT" >> $config_mk
+echo "BUILD_AR          := $BUILD_AR" >> $config_mk
+echo "BUILD_CC          := $BUILD_CC" >> $config_mk
+echo "BUILD_CXX         := $BUILD_CXX" >> $config_mk
+echo "BUILD_LD          := $BUILD_LD" >> $config_mk
+echo "BUILD_CFLAGS      := $BUILD_CFLAGS" >> $config_mk
+echo "BUILD_LDFLAGS     := $BUILD_LDFLAGS" >> $config_mk
+
 PWD=`pwd`
 echo "SRC_PATH          := $PWD" >> $config_mk
 if [ -n "$SDL_CONFIG" ] ; then
@@ -584,6 +574,10 @@
 if [ $OPTION_STATIC = yes ] ; then
     echo "CONFIG_STATIC_EXECUTABLE := true" >> $config_mk
 fi
+if [ "$GLES_SUPPORT" = "yes" ]; then
+    echo "EMULATOR_BUILD_EMUGL       := true" >> $config_mk
+    echo "EMULATOR_EMUGL_SOURCES_DIR := $GLES_DIR" >> $config_mk
+fi
 
 if [ -n "$ANDROID_SDK_TOOLS_REVISION" ] ; then
     echo "ANDROID_SDK_TOOLS_REVISION := $ANDROID_SDK_TOOLS_REVISION" >> $config_mk
diff --git a/android-rebuild.sh b/android-rebuild.sh
index 71400f3..875afb0 100755
--- a/android-rebuild.sh
+++ b/android-rebuild.sh
@@ -77,14 +77,22 @@
 fi
 
 echo "Running 32-bit unit test suite."
-UNIT_TEST=objs/emulator_unittests$EXE_SUFFIX
-run $TEST_SHELL $UNIT_TEST ||
-panic "For details, run: $UNIT_TEST"
+FAILURES=""
+for UNIT_TEST in emulator_unittests emugl_common_host_unittests; do
+  echo "   - $UNIT_TEST"
+  run $TEST_SHELL objs/$UNIT_TEST$EXE_SUFFIX || FAILURES="$FAILURES $UNIT_TEST"
+done
 
 if [ "$RUN_64BIT_TESTS" ]; then
     echo "Running 64-bit unit test suite."
-    UNIT_TEST=objs/emulator64_unittests$EXE_SUFFIX
-    run $TEST_SHELL $UNIT_TEST || panic "For details, run: $UNIT_TEST"
+    for UNIT_TEST in emulator64_unittests emugl64_common_host_unittests; do
+        echo "   - $UNIT_TEST"
+        run $TEST_SHELL objs/$UNIT_TEST$EXE_SUFFIX || FAILURES="$FAILURES $UNIT_TEST"
+    done
+fi
+
+if [ "$FAILURES" ]; then
+    panic "Unit test failures: $FAILURES"
 fi
 
 echo "Done. !!"
diff --git a/android/build/binary.make b/android/build/binary.make
index 0290d58..a3a4437 100644
--- a/android/build/binary.make
+++ b/android/build/binary.make
@@ -19,7 +19,8 @@
 # the directory where we're going to place our object files
 LOCAL_OBJS_DIR  := $(call intermediates-dir-for,EXECUTABLES,$(LOCAL_MODULE))
 LOCAL_OBJECTS   :=
-LOCAL_CC        ?= $(CC)
+$(call local-host-define,CC)
+$(call local-host-define,LD)
 LOCAL_C_SOURCES := $(filter  %.c,$(LOCAL_SRC_FILES))
 LOCAL_GENERATED_C_SOURCES := $(filter %.c,$(LOCAL_GENERATED_SOURCES))
 LOCAL_GENERATED_CXX_SOURCES := $(filter %$(LOCAL_CPP_EXTENSION),$(LOCAL_GENERATED_SOURCES))
@@ -28,6 +29,18 @@
 
 LOCAL_CFLAGS := $(strip $(patsubst %,-I%,$(LOCAL_C_INCLUDES)) $(LOCAL_CFLAGS))
 
+# HACK ATTACK: For the Darwin x86 build, we need to add
+# '-read_only_relocs suppress' to the linker command to avoid errors.
+# The only way to detect if we're building 32-bit or 64-bit binaries
+# is to look at -m32 and -m64 statements in the final link line, and
+# only keep the last one.
+ifeq ($(HOST_OS),darwin)
+  my_bitness := $(lastword $(filter -m32 -m64,$(LOCAL_LDFLAGS) $(LOCAL_LDLIBS) $(LOCAL_CFLAGS)))
+  ifeq (-m32,$(my_bitness))
+    LOCAL_LDLIBS += -Wl,-read_only_relocs,suppress
+  endif
+endif
+
 $(foreach src,$(LOCAL_C_SOURCES), \
     $(eval $(call compile-c-source,$(src))) \
 )
diff --git a/android/build/clear_vars.make b/android/build/clear_vars.make
index fa7d628..6dfc7a3 100644
--- a/android/build/clear_vars.make
+++ b/android/build/clear_vars.make
@@ -22,6 +22,7 @@
 LOCAL_ADDITIONAL_DEPENDENCIES :=
 LOCAL_AR :=
 LOCAL_CFLAGS :=
+LOCAL_HOST_BUILD :=
 LOCAL_LDFLAGS :=
 LOCAL_LDLIBS :=
 LOCAL_SRC_FILES :=
diff --git a/android/build/common.sh b/android/build/common.sh
index 5808570..9849bb2 100644
--- a/android/build/common.sh
+++ b/android/build/common.sh
@@ -559,11 +559,13 @@
     echo "HOST_OS     := $HOST_OS" >> $config_mk
     echo "HOST_ARCH   := $HOST_ARCH" >> $config_mk
     echo "CC          := $CC" >> $config_mk
-    echo "HOST_CC     := $CC" >> $config_mk
     echo "LD          := $LD" >> $config_mk
     echo "AR          := $AR" >> $config_mk
     echo "CFLAGS      := $CFLAGS" >> $config_mk
     echo "LDFLAGS     := $LDFLAGS" >> $config_mk
+    echo "HOST_CC     := $CC" >> $config_mk
+    echo "HOST_LD     := $LD" >> $config_mk
+    echo "HOST_AR     := $AR" >> $config_mk
 }
 
 add_android_config_mk ()
diff --git a/android/build/definitions.make b/android/build/definitions.make
index 4656374..664b28c 100644
--- a/android/build/definitions.make
+++ b/android/build/definitions.make
@@ -38,33 +38,44 @@
 hide :=
 endif
 
+# Return the parent directory of a given path.
+# $1: path
 parent-dir = $(dir $1)
+
+# Return the directory of the current Makefile / Android.mk.
 my-dir = $(call parent-dir,$(lastword $(MAKEFILE_LIST)))
 
-# return the directory containing the intermediate files for a given
+# Return the directory containing the intermediate files for a given
 # kind of executable
-# $1 = type (EXECUTABLES or STATIC_LIBRARIES)
+# $1 = type (EXECUTABLES, STATIC_LIBRARIES or SHARED_LIBRARIES).
 # $2 = module name
 # $3 = ignored
 #
-define intermediates-dir-for
-$(OBJS_DIR)/intermediates/$(2)
-endef
+intermediates-dir-for = $(OBJS_DIR)/intermediates/$(2)
 
+# Return the name of a given host tool, based on the value of
+# LOCAL_HOST_BUILD. If the variable is defined, return $(BUILD_$1),
+# otherwise return $(HOST_$1).
+# $1: Tool name (e.g. CC, LD, etc...)
+#
+local-host-tool = $(if $(strip $(LOCAL_HOST_BUILD)),$(BUILD_$1),$(MY_$1))
+local-host-exe = $(call local-host-tool,EXEEXT)
+local-host-dll = $(call local-host-tool,DLLEXT)
+
+local-host-define = $(if $(strip $(LOCAL_$1)),,$(eval LOCAL_$1 := $$(call local-host-tool,$1)))
+
+# Return the directory containing the intermediate files for the current
+# module. LOCAL_MODULE must be defined before calling this.
 local-intermediates-dir = $(OBJS_DIR)/intermediates/$(LOCAL_MODULE)
 
-# Generate the full path of a given static library
-define library-path
-$(OBJS_DIR)/libs/$(1).a
-endef
+local-library-path = $(OBJS_DIR)/libs/$(1).a
+local-executable-path = $(OBJS_DIR)/$(1)$(call local-host-tool,EXEEXT)
+local-shared-library-path = $(OBJS_DIR)/lib/$(1)$(call local-host-tool,DLLEXT)
 
-define executable-path
-$(OBJS_DIR)/$(1)$(EXE)
-endef
 
-define shared-library-path
-$(OBJS_DIR)/lib/$(1)$(HOST_DLLEXT)
-endef
+# Toolchain control support.
+# It's possible to switch between the regular toolchain and the host one
+# in certain cases.
 
 # Compile a C source file
 #
@@ -73,7 +84,7 @@
 OBJ:=$$(LOCAL_OBJS_DIR)/$$(SRC:%.c=%.o)
 LOCAL_OBJECTS += $$(OBJ)
 DEPENDENCY_DIRS += $$(dir $$(OBJ))
-$$(OBJ): PRIVATE_CFLAGS := $$(CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
+$$(OBJ): PRIVATE_CFLAGS := $$(call local-host-tool,CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
 $$(OBJ): PRIVATE_CC     := $$(LOCAL_CC)
 $$(OBJ): PRIVATE_OBJ    := $$(OBJ)
 $$(OBJ): PRIVATE_MODULE := $$(LOCAL_MODULE)
@@ -93,7 +104,7 @@
 OBJ:=$$(LOCAL_OBJS_DIR)/$$(SRC:%$(LOCAL_CPP_EXTENSION)=%.o)
 LOCAL_OBJECTS += $$(OBJ)
 DEPENDENCY_DIRS += $$(dir $$(OBJ))
-$$(OBJ): PRIVATE_CFLAGS := $$(CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
+$$(OBJ): PRIVATE_CFLAGS := $$(call local-host-tool,CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
 $$(OBJ): PRIVATE_CXX    := $$(LOCAL_CC)
 $$(OBJ): PRIVATE_OBJ    := $$(OBJ)
 $$(OBJ): PRIVATE_MODULE := $$(LOCAL_MODULE)
@@ -113,7 +124,7 @@
 OBJ:=$$(LOCAL_OBJS_DIR)/$$(notdir $$(SRC:%.m=%.o))
 LOCAL_OBJECTS += $$(OBJ)
 DEPENDENCY_DIRS += $$(dir $$(OBJ))
-$$(OBJ): PRIVATE_CFLAGS := $$(CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
+$$(OBJ): PRIVATE_CFLAGS := $$(call local-host-tool,CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
 $$(OBJ): PRIVATE_CC     := $$(LOCAL_CC)
 $$(OBJ): PRIVATE_OBJ    := $$(OBJ)
 $$(OBJ): PRIVATE_MODULE := $$(LOCAL_MODULE)
@@ -133,7 +144,7 @@
 OBJ:=$$(LOCAL_OBJS_DIR)/$$(notdir $$(SRC:%.c=%.o))
 LOCAL_OBJECTS += $$(OBJ)
 DEPENDENCY_DIRS += $$(dir $$(OBJ))
-$$(OBJ): PRIVATE_CFLAGS := $$(CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
+$$(OBJ): PRIVATE_CFLAGS := $$(call local-host-tool,CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
 $$(OBJ): PRIVATE_CC     := $$(LOCAL_CC)
 $$(OBJ): PRIVATE_OBJ    := $$(OBJ)
 $$(OBJ): PRIVATE_MODULE := $$(LOCAL_MODULE)
@@ -151,7 +162,7 @@
 OBJ:=$$(LOCAL_OBJS_DIR)/$$(notdir $$(SRC:%$(LOCAL_CPP_EXTENSION)=%.o))
 LOCAL_OBJECTS += $$(OBJ)
 DEPENDENCY_DIRS += $$(dir $$(OBJ))
-$$(OBJ): PRIVATE_CFLAGS := $$(CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
+$$(OBJ): PRIVATE_CFLAGS := $$(call local-host-tool,CFLAGS) $$(LOCAL_CFLAGS) -I$$(LOCAL_PATH) -I$$(LOCAL_OBJS_DIR)
 $$(OBJ): PRIVATE_CXX    := $$(LOCAL_CC)
 $$(OBJ): PRIVATE_OBJ    := $$(OBJ)
 $$(OBJ): PRIVATE_MODULE := $$(LOCAL_MODULE)
@@ -204,4 +215,3 @@
 @mkdir -p $(dir $@)
 $(hide) $(PRIVATE_CUSTOM_TOOL)
 endef
-
diff --git a/android/build/host_executable.make b/android/build/host_executable.make
index 6331044..ba504c3 100644
--- a/android/build/host_executable.make
+++ b/android/build/host_executable.make
@@ -14,27 +14,26 @@
 #
 
 # first, call a library containing all object files
-LOCAL_BUILT_MODULE := $(call executable-path,$(LOCAL_MODULE))$(HOST_EXEEXT)
-LOCAL_CC ?= $(CC)
+LOCAL_BUILT_MODULE := $(call local-executable-path,$(LOCAL_MODULE))
 include $(BUILD_SYSTEM)/binary.make
 
-LOCAL_LIBRARIES := $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call library-path,$(lib)))
+LOCAL_LIBRARIES := $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call local-library-path,$(lib)))
 
 LOCAL_LDLIBS := \
-    $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call library-path,$(lib))) \
-    $(foreach lib,$(LOCAL_SHARED_LIBRARIES),$(call shared-library-path,$(lib))) \
+    $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call local-library-path,$(lib))) \
+    $(foreach lib,$(LOCAL_SHARED_LIBRARIES),$(call local-shared-library-path,$(lib))) \
     $(LOCAL_LDLIBS)
 
 $(LOCAL_BUILT_MODULE): PRIVATE_LDFLAGS := $(LDFLAGS) $(LOCAL_LDFLAGS)
 $(LOCAL_BUILT_MODULE): PRIVATE_LDLIBS  := $(LOCAL_LDLIBS)
+$(LOCAL_BUILT_MODULE): PRIVATE_LD      := $(LOCAL_LD)
 $(LOCAL_BUILT_MODULE): PRIVATE_OBJS    := $(LOCAL_OBJECTS)
 
 $(LOCAL_BUILT_MODULE): $(LOCAL_OBJECTS) $(LOCAL_LIBRARIES)
 	@ mkdir -p $(dir $@)
 	@ echo "Executable: $@"
-	$(hide) $(LD) $(PRIVATE_LDFLAGS) -o $@ $(PRIVATE_LIBRARY) $(PRIVATE_OBJS) $(PRIVATE_LDLIBS)
+	$(hide) $(PRIVATE_LD) $(PRIVATE_LDFLAGS) -o $@ $(PRIVATE_LIBRARY) $(PRIVATE_OBJS) $(PRIVATE_LDLIBS)
 
 EXECUTABLES += $(LOCAL_BUILT_MODULE)
-$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call library-path,$(lib)))
-$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_SHARED_LIBRARIES),$(call shared-library-path,$(lib)))
-
+$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call local-library-path,$(lib)))
+$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_SHARED_LIBRARIES),$(call local-shared-library-path,$(lib)))
diff --git a/android/build/host_shared_library.make b/android/build/host_shared_library.make
index 7ce2e9a..911be8e 100644
--- a/android/build/host_shared_library.make
+++ b/android/build/host_shared_library.make
@@ -14,13 +14,12 @@
 #
 
 # first, call a library containing all object files
-LOCAL_BUILT_MODULE := $(call shared-library-path,$(LOCAL_MODULE))$(HOST_DLLEXT)
-LOCAL_CC ?= $(CC)
+LOCAL_BUILT_MODULE := $(call local-shared-library-path,$(LOCAL_MODULE))
 include $(BUILD_SYSTEM)/binary.make
 
-LOCAL_LIBRARIES := $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call library-path,$(lib)))
+LOCAL_LIBRARIES := $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call local-library-path,$(lib)))
 
-LOCAL_LDLIBS := $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call library-path,$(lib))) $(LOCAL_LDLIBS)
+LOCAL_LDLIBS := $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call local-library-path,$(lib))) $(LOCAL_LDLIBS)
 
 $(LOCAL_BUILT_MODULE): PRIVATE_LDFLAGS := $(LDFLAGS) $(LOCAL_LDFLAGS)
 $(LOCAL_BUILT_MODULE): PRIVATE_LDLIBS  := $(LOCAL_LDLIBS)
@@ -32,6 +31,6 @@
 	$(hide) $(LD) $(PRIVATE_LDFLAGS) -shared -o $@ $(PRIVATE_LIBRARY) $(PRIVATE_OBJS) $(PRIVATE_LDLIBS)
 
 EXECUTABLES += $(LOCAL_BUILT_MODULE)
-$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call library-path,$(lib)))
-$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_SHARED_LIBRARIES),$(call shared-library-path,$(lib)))
+$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_STATIC_LIBRARIES),$(call local-library-path,$(lib)))
+$(LOCAL_BUILT_MODULE): $(foreach lib,$(LOCAL_SHARED_LIBRARIES),$(call local-shared-library-path,$(lib)))
 
diff --git a/android/build/host_static_library.make b/android/build/host_static_library.make
index 38ff625..b02fda7 100644
--- a/android/build/host_static_library.make
+++ b/android/build/host_static_library.make
@@ -18,13 +18,13 @@
 #
 
 #$(info STATIC_LIBRARY SRCS=$(LOCAL_SRC_FILES))
-LOCAL_BUILT_MODULE := $(call library-path,$(LOCAL_MODULE))
-LOCAL_CC ?= $(CC)
+LOCAL_BUILT_MODULE := $(call local-library-path,$(LOCAL_MODULE))
+LOCAL_CC ?= $(call local-host-tool,CC)
 include $(BUILD_SYSTEM)/binary.make
 
 LOCAL_AR := $(strip $(LOCAL_AR))
 ifndef LOCAL_AR
-    LOCAL_AR := $(AR)
+    LOCAL_AR := $(call local-host-tool,AR)
 endif
 ARFLAGS := crs
 
diff --git a/distrib/googletest/Android.mk b/distrib/googletest/Android.mk
index e6a7d29..151a3b3 100644
--- a/distrib/googletest/Android.mk
+++ b/distrib/googletest/Android.mk
@@ -10,6 +10,7 @@
 ###  Android.mk there, define a module here instead.
 
 EMULATOR_GTEST_SOURCES_DIR ?= $(LOCAL_PATH)/../gtest
+EMULATOR_GTEST_SOURCES_DIR := $(EMULATOR_GTEST_SOURCES_DIR)
 ifeq (,$(strip $(wildcard $(EMULATOR_GTEST_SOURCES_DIR))))
     $(error Cannot find GoogleTest sources directory: $(EMULATOR_GTEST_SOURCES_DIR))
 endif
diff --git a/distrib/package-release.sh b/distrib/package-release.sh
index 1df4c68..ac62573 100755
--- a/distrib/package-release.sh
+++ b/distrib/package-release.sh
@@ -146,7 +146,8 @@
   dump "Retrieving Darwin binaries from: $HOST"
   rm -rf objs/*
   run scp $HOST:$DST_DIR/$PKG_FILE_PREFIX/qemu/objs/emulator* objs/
-  # TODO(digit): Retrieve GPU emulation libraries + PC Bios files.
+  run scp -r $HOST:$DST_DIR/$PKG_FILE_PREFIX/qemu/objs/lib objs/lib
+  # TODO(digit): Retrieve PC BIOS files.
   run ssh $HOST rm -rf $DST_DIR/$PKG_FILE_PREFIX
 }
 
@@ -353,6 +354,12 @@
 fi
 log "Found GoogleTest directory: $GTEST_DIR"
 
+EMUGL_DIR=$QEMU_DIR/../../sdk/emulator/opengl
+if [ ! -d "$EMUGL_DIR" ]; then
+  panic "Cannot find GPU emulation source directory: $EMUGL_DIR"
+fi
+log "Found GPU emulation directory: $EMUGL_DIR"
+
 SOURCES_PKG_FILE=
 if [ "$OPT_SOURCES" ]; then
     BUILD_DIR=$TEMP_BUILD_DIR/sources/$PKG_PREFIX-$PKG_REVISION
@@ -363,6 +370,9 @@
     dump "[$PKG_NAME] Copying Emulator source files."
     copy_directory_git_files "$QEMU_DIR" "$BUILD_DIR"/qemu
 
+    dump "[$PKG_NAME] Copying GPU emulation library sources."
+    copy_directory_git_files "$EMUGL_DIR" "$BUILD_DIR"/opengl
+
     dump "[$PKG_NAME] Generating README file."
     cat > "$BUILD_DIR"/README <<EOF
 This directory contains the sources of the Android emulator.
diff --git a/distrib/sdl-1.2.15/sources.make b/distrib/sdl-1.2.15/sources.make
index b44b86d..76e57f8 100644
--- a/distrib/sdl-1.2.15/sources.make
+++ b/distrib/sdl-1.2.15/sources.make
@@ -51,8 +51,17 @@
     SDL_CONFIG_MAIN_MACOSX := yes
 
     SDL_CFLAGS += -D_GNU_SOURCE=1 -DTHREAD_SAFE
-    FRAMEWORKS := OpenGL Cocoa QuickTime ApplicationServices Carbon IOKit
+    FRAMEWORKS := OpenGL Cocoa ApplicationServices Carbon IOKit
     SDL_LDLIBS += $(FRAMEWORKS:%=-Wl,-framework,%)
+
+    # SDK 10.6+ deprecates __dyld_func_lookup required by dlcompat_init_func
+    # in SDL_dlcompat.o this module depends.  Instruct linker to resolve it
+    # at runtime.
+    OSX_VERSION_MAJOR := $(shell echo $(mac_sdk_version) | cut -d . -f 2)
+    OSX_VERSION_MAJOR_GREATER_THAN_OR_EQUAL_TO_6 := $(shell [ $(OSX_VERSION_MAJOR) -ge 6 ] && echo true)
+    ifeq ($(OSX_VERSION_MAJOR_GREATER_THAN_OR_EQUAL_TO_6),true)
+        LOCAL_LDLIBS += -Wl,-undefined,dynamic_lookup
+    endif
 endif
 
 ifeq ($(HOST_OS),windows)
