Editing Maemo软件开发工具包
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
Warning: This page is 39 kilobytes long; some browsers may have problems editing pages approaching or longer than 32kb. Please consider breaking the page into smaller sections.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 70: | Line 70: | ||
- | === 深入Scratchbox === | + | === 施工中 深入Scratchbox === |
Scratchbox是Maemo SDK使用的交叉编译环境。在大多数情况下,默认安装的Scratchbox就能顺利工作。但如果你有特殊的需要,那么有必要了解一些Scratchbox的细节。 | Scratchbox是Maemo SDK使用的交叉编译环境。在大多数情况下,默认安装的Scratchbox就能顺利工作。但如果你有特殊的需要,那么有必要了解一些Scratchbox的细节。 | ||
Line 76: | Line 76: | ||
''目标环境''(''target''),是Scratchbox建立的一个根文件系统,当你在Scratchbox里创建了一个''目标环境''后,就指定了''工具链''(''toolchain''),用于创建你的应用程序。Maemo SDK创建了两个''目标环境''——X86(FREMANTLE_X86)和ARMEL(FREMANTLE_ARMEL)。 | ''目标环境''(''target''),是Scratchbox建立的一个根文件系统,当你在Scratchbox里创建了一个''目标环境''后,就指定了''工具链''(''toolchain''),用于创建你的应用程序。Maemo SDK创建了两个''目标环境''——X86(FREMANTLE_X86)和ARMEL(FREMANTLE_ARMEL)。 | ||
- | |||
- | '' | + | ''Host tools'' are native to the host, provided for convenience and speed. They are always transparently preferred over target tools. For example, cross-compiling applications to the target architecture. Host tools consist of devkits and ''toolchains''. |
- | + | A toolchain provides the minimal set of tools for compiling binaries for the target. Each scratchbox target must have one and only one toolchain selected. | |
- | '' | + | ''CPU transparency methods'' take care of running the applications on an emulator, target device or directly on the host transparently from the user's perspective. The available CPU transparency methods come from a special ''devkit'' called ''cputransp''. For each of Maemo SDK's pre-defined targets, a CPU transparency method is selected and defined. |
- | '' | + | A ''toolchain'' is a collection of tools used to produce binaries for the target environment. In addition to a compiler (''gcc''), the toolchain contains a linker (''ld'') and other ''binutils'', such as ''strip'', ''objdump'' and ''strings''. |
- | + | A ''devkit'' is a collection of tools native to the host. A devkit can be selected or disabled for a target. An example of a devkit is the doctools devkit, which provides tools (like doxygen) for building documentation. | |
- | + | A ''rootstrap'' is a root file system for the target device. Maemo SDK provides root file systems for both targets (X86 and ARMEL) inside Scratchbox. Note that the user's home directory is shared for all targets. The ''/tmp'' directory is shared for all targets and also with the host. | |
- | + | From Scratchbox's point of view, Maemo SDK is a set of preconfigured ''targets'' and ''root file system''s. One set is provided for both ''X86'' and ''ARMEL'' architectures on top of a working Scratchbox installation. | |
- | + | ==Development on Maemo SDK== | |
- | + | ||
- | == | + | |
The Maemo SDK provides all of its development tools inside Scratchbox. Also the UI framework is started with a single command, ''af-sb-init'', run within Scratchbox. However, it needs a secondary X server of proper size and bit-depth to be displayed on. | The Maemo SDK provides all of its development tools inside Scratchbox. Also the UI framework is started with a single command, ''af-sb-init'', run within Scratchbox. However, it needs a secondary X server of proper size and bit-depth to be displayed on. | ||
Learn more about Contributing to the wiki.