- Saved searches
- Use saved searches to filter your results more quickly
- License
- Licenses found
- liuponghei/androideabi
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README
- About
- Resources
- License
- Licenses found
- Stars
- Watchers
- Forks
- Releases
- Packages 0
- Languages
- Footer
- Tydus / howto-standalone-toolchain.md
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
linux x86 32-bit arm-androideabi-4.6 toolchain
License
GPL-2.0, LGPL-2.1 licenses found
Licenses found
liuponghei/androideabi
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
This branch is up to date with yath/android_prebuilts_gcc_linux-x86-32_arm_arm-linux-androideabi-4.6:jellybean.
Latest commit
Git stats
Files
Failed to load latest commit information.
README
Linux/x86 32-bit gcc/binutils for arm-linux-androideabi-4.6 Usage ===== - Put to your .repo/local_manifest.xml - Make sure I89ed0f00eda1a0bebbc35f39af4bbf0e97f6fade from CyanogenMod is applied to your build/ directory (see http://review.cyanogenmod.com/19152). Building ======== A=$ANDROID_BUILD_TOP TC=/tmp/toolchain-source cd $A/ndk/build/tools ./download-toolchain-sources.sh $TC cd $TC git clone https://android.googlesource.com/toolchain/mpc # this one is missing from download-toolchain-sources.sh # fix SOURCES to reflect mpc cd $A/ndk/build/tools # set DEFAULT_BINUTILS_VERSION=2.21 in dev-defaults.sh - binutils 2.19 don't support the 'orn' instruction and # you will get an assembler error when compiling ./gen-platforms.sh --minimal ./build-gcc.sh $TC $A/ndk arm-linux-androideabi-4.6 # find your output in $A/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86
About
linux x86 32-bit arm-androideabi-4.6 toolchain
Resources
License
GPL-2.0, LGPL-2.1 licenses found
Licenses found
Stars
Watchers
Forks
Releases
Packages 0
Languages
Footer
You can’t perform that action at this time.
Tydus / howto-standalone-toolchain.md
NDK (Native Develop Toolkit) is a toolchain from Android official, originally for users who writes native C/C++ code as JNI library. It’s not designed for compiling standalone programs (./a.out) and not compatible with automake/cmake etc.
What is Standalone Toolchain
«Standalone» refers to two meanings:
- The program is standalone (has nothing connect to NDK, and don’t need helper scripts to run it)
- The toolchain is made for building standalone programs and libs, and which can used by automake etc.
(Optional) Why NDK is hard to use
By default, NDK uses android flavor directory structure when it’s finding headers and libs, which is different from GNU flavor, so the compiler cannot find them. For Example:
/home/tyeken8/Desktop/elab/geo/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory /home/tyeken8/Desktop/elab/geo/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_android.o: No such file or directory /home/tyeken8/Desktop/elab/geo/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc /home/tyeken8/Desktop/elab/geo/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl collect2: error: ld returned 1 exit status
Although we can manuall specify the path (someone wrote a program called «agcc» to handle this automatically, but still not good), it’s really annoying.
- Download Android NDK
from https://developer.android.com/tools/sdk/ndk/index.html - Extract the NDK
tar xf android-ndk-r9d-*.tar.bz2 && cd android-ndk-r9d - Make GNU Android Toolchain from NDK
build/tools/make-standalone-toolchain.sh —toolchain=arm-linux-androideabi-4.8 —platform=android-19 —install-dir=../toolchain - Delete the NDK (Yes, we don’t need it any more)
cd .. && rm -rf android-ndk-r9d - Test the native toolchain
cd toolchain/bin
echo «main()<>» | ./arm-linux-androideabi-gcc -x c —
file a.out # a.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped - (Optional) Now you can use it as a standard GNU toolchain
For example: ./configure —prefix=/opt/android —host=arm-linux-androideabi && make && make install