Difference between revisions of "Android"

From Lazarus wiki
Jump to navigationJump to search
Line 51: Line 51:
  
 
<code>
 
<code>
 +
<pre>
 
-Fu/Develop/FPC/pp/units/$FPCTARGET/*
 
-Fu/Develop/FPC/pp/units/$FPCTARGET/*
  
Line 58: Line 59:
 
#endif
 
#endif
 
#endif
 
#endif
 +
</pre>
 
</code>
 
</code>
  
 
 
 
[[Category:Android]]
 
[[Category:Android]]

Revision as of 18:26, 13 February 2013

Android target

Currently support for the Android target is present in the trunk (development) version 2.7.1 of FPC.

Supported CPUs:

  • ARM
  • i386

Android NDK

You need to download and install Android NDK in order to compile programs for the android target. Download Android NDK using this link: http://developer.android.com/tools/sdk/ndk/index.html

Extract it to some folder.

FPC sources

Check out the latest trunk sources of FPC using the following command:

svn co FPC http://svn.freepascal.org/svn/fpc/trunk

Now you have the compiler sources in the FPC sub-folder.

Building cross compiler

You need to have working installation of FPC 2.6.x compiler in order to create the cross-compiler. This tutorial describes how to build the cross-compiler on Windows, but it can be used for any system with small obvious modifications.

Assume the following paths:

  • Android NDK path: C:\Program Files\Android SDK\android-ndk-r8d
  • FPC svn sources path: C:\Develop\FPC\FPC
  • The cross-compiler installation path: C:\Develop\FPC\pp

Add path to Android binutils to the PATH environment variable. In this tutorial the path is C:\Program Files\Android SDK\android-ndk-r8d\toolchains\arm-linux-androideabi-4.7\prebuilt\windows\bin

First you need to build the latest version of the fmcmake support program. To do that cd to the following folder: C:\Develop\FPC\FPC\utils\fpcm\fpcmake Then execute the command: make

Now cd to the root of FPC sources folder: C:\Develop\FPC\FPC

Execute the following command:

make clean all install OS_TARGET=android CPU_TARGET=arm CROSSOPT="-O2 -g-" CROSSINSTALL=1 INSTALL_PREFIX=C:\Develop\FPC\pp FPCMAKE=C:\Develop\FPC\FPC\utils\fpcm\fpcmake

After that you should have the cross-compiler and units installed in folder C:\Develop\FPC\pp Now create a new fpc.cfg file in folder C:\Develop\FPC\pp\bin\i386-win32 and paste into it the following text:

-Fu/Develop/FPC/pp/units/$FPCTARGET/*

#ifdef android
#ifdef cpuarm
-FlC:\Program Files\Android SDK\android-ndk-r8d\platforms\android-14\arch-arm\usr\lib
#endif
#endif