diff --git a/compiler/Android.mk b/compiler/Android.mk
index 4340929..25dfb0a 100644
--- a/compiler/Android.mk
+++ b/compiler/Android.mk
@@ -196,6 +196,34 @@
   LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM
   ifeq ($(ART_USE_PORTABLE_COMPILER),true)
     LOCAL_CFLAGS += -DART_USE_PORTABLE_COMPILER=1
+    ifeq ($$(art_target_or_host),target)
+      ifeq ($(TARGET_ARCH),arm)
+        LOCAL_STATIC_LIBRARIES += libmcldARMInfo libmcldARMTarget
+      else # TARGET_ARCH != arm
+      ifeq ($(TARGET_ARCH),x86)
+        LOCAL_STATIC_LIBRARIES += libmcldX86Info libmcldX86Target
+      else # TARGET_ARCH != x86
+      ifeq ($(TARGET_ARCH),x86_64)
+        LOCAL_STATIC_LIBRARIES += libmcldX86Info libmcldX86Target
+      else # TARGET_ARCH != x86_64
+      ifeq ($(TARGET_ARCH),mips)
+        LOCAL_STATIC_LIBRARIES += libmcldMipsInfo libmcldMipsTarget
+      else # TARGET_ARCH != mips
+      ifeq ($(TARGET_ARCH),aarch64)
+         $$(info TODOAArch64: $$(LOCAL_PATH)/Android.mk Add AArch64 specific MCLinker libraries)
+      else # TARGET_ARCH != aarch64
+        $$(error unsupported TARGET_ARCH=$(TARGET_ARCH))
+      endif # TARGET_ARCH != aarch64
+      endif # TARGET_ARCH != mips
+      endif # TARGET_ARCH != x86_64
+      endif # TARGET_ARCH != x86
+      endif # TARGET_ARCH != arm
+    else # host
+      LOCAL_STATIC_LIBRARIES += libmcldARMInfo libmcldARMTarget
+      LOCAL_STATIC_LIBRARIES += libmcldX86Info libmcldX86Target
+      LOCAL_STATIC_LIBRARIES += libmcldMipsInfo libmcldMipsTarget
+    endif
+    LOCAL_STATIC_LIBRARIES += libmcldCore libmcldObject libmcldADT libmcldFragment libmcldTarget libmcldCodeGen libmcldLDVariant libmcldMC libmcldSupport libmcldLD
   endif
 
   LOCAL_C_INCLUDES += $(ART_C_INCLUDES) art/runtime
diff --git a/compiler/elf_writer_mclinker.cc b/compiler/elf_writer_mclinker.cc
index f3fef23..cdfb881 100644
--- a/compiler/elf_writer_mclinker.cc
+++ b/compiler/elf_writer_mclinker.cc
@@ -22,6 +22,7 @@
 #include <mcld/IRBuilder.h>
 #include <mcld/Linker.h>
 #include <mcld/LinkerConfig.h>
+#include <mcld/LinkerScript.h>
 #include <mcld/MC/ZOption.h>
 #include <mcld/Module.h>
 #include <mcld/Support/Path.h>
@@ -142,13 +143,14 @@
   }
 
   // Based on alone::Linker::config
-  module_.reset(new mcld::Module(linker_config_->options().soname()));
+  linker_script_.reset(new mcld::LinkerScript());
+  module_.reset(new mcld::Module(linker_config_->options().soname(), *linker_script_.get()));
   CHECK(module_.get() != NULL);
   ir_builder_.reset(new mcld::IRBuilder(*module_.get(), *linker_config_.get()));
   CHECK(ir_builder_.get() != NULL);
   linker_.reset(new mcld::Linker());
   CHECK(linker_.get() != NULL);
-  linker_->config(*linker_config_.get());
+  linker_->emulate(*linker_script_.get(), *linker_config_.get());
 }
 
 void ElfWriterMclinker::AddOatInput(std::vector<uint8_t>& oat_contents) {
diff --git a/compiler/elf_writer_mclinker.h b/compiler/elf_writer_mclinker.h
index 5da178c..fa7e9ca 100644
--- a/compiler/elf_writer_mclinker.h
+++ b/compiler/elf_writer_mclinker.h
@@ -29,6 +29,7 @@
 class LDSymbol;
 class Linker;
 class LinkerConfig;
+class LinkerScript;
 class Module;
 }  // namespace mcld
 
@@ -74,6 +75,7 @@
 
   // Setup by Init()
   UniquePtr<mcld::LinkerConfig> linker_config_;
+  UniquePtr<mcld::LinkerScript> linker_script_;
   UniquePtr<mcld::Module> module_;
   UniquePtr<mcld::IRBuilder> ir_builder_;
   UniquePtr<mcld::Linker> linker_;
diff --git a/runtime/Android.mk b/runtime/Android.mk
index 353f160..237e930 100644
--- a/runtime/Android.mk
+++ b/runtime/Android.mk
@@ -236,8 +236,8 @@
 $(error unsupported TARGET_ARCH=$(TARGET_ARCH))
 endif # TARGET_ARCH != aarch64
 endif # TARGET_ARCH != mips
-endif # TARGET_ARCH != x86
 endif # TARGET_ARCH != x86_64
+endif # TARGET_ARCH != x86
 endif # TARGET_ARCH != arm
 
 
