aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.android
Commit message (Collapse)AuthorAgeFilesLines
* Fix emulator standalone buildAndrew Hsieh2012-08-231-2/+2
| | | | | | | Fix Makefile.android to build emulator if at least one of BUILD_EMULATOR and BUILD_STANDALONE_EMULATOR is true Change-Id: I55be207a78e0e96047b6cfcd45feebeff03c2c57
* Fix double optimization on buildsystem for emulatorLars Poeschel2012-08-221-6/+1
| | | | | | | | | Building the emulator was done with two optimization flags supplied to the compiler. This prevented to do debug builds with unoptimized compilation. This is fixed now. Change-Id: Ie64747fd45fa9a3e2de37ba094b223ef52ef0f19
* host modules don't need LOCAL_MODULE_TAGSJoe Onorato2012-08-151-1/+0
| | | | Change-Id: I4b18a564adeedac5cb0b51f7a8c8f793638e6671
* Fix Mac Build with MacOSX SDK10.6+Andrew Hsieh2012-08-101-4/+7
| | | | | | | | Function "__dyld_func_lookup" required by SDL_dlcompat.c is no longer provided in SDK 10.6+. Dynamic library lookup symbols are instead resolved at runtime. Change-Id: I6605f049a4f7641c197a44118da13a016f23633c
* Fix MacAppStore version of Xcode build on MacOSX 10.7SangWook Han2012-07-271-21/+3
| | | | | | | Use mac_sdk and mac_sdk_version which is declared in /build/core/combo/HOST_darwin-x86.mk Change-Id: I930173d13e5417aec49675b52d414d147b3c9597
* Don't try to build the emulator on Mac OS if the right tools aren't installed.Joe Onorato2012-07-251-0/+3
| | | | Change-Id: I7f8dcec1715657d44c562427d1c3dbd290f14ff8
* Enable 64-bit emulator for MacOSX hostAndrew Hsieh2012-07-251-6/+6
| | | | | | | | | | 64-bit emulator can now be enabled for MacOSX host because the newly upgraded sdl-1.2.15 no longer depends on NSQuickDrawView lacking 64-bit implementation. Also rename makefile variable MSDK to OSX_VERSION Change-Id: Ia36863f7708d281f90f5fa40a1507b52b1b68a79
* Fix MacOSX 10.7 buildAndrew Hsieh2012-07-241-9/+13
| | | | | | | | | | MacOSX 10.7 fails to build external/qemu because SDK path isn't set. Set SDK path to 10.6 (the minimal SDK comes with Xcode 4.x, PS*1) for 10.7. PS*1: Note that Xcode 3.x can't be installed on 10.7 w/o hack. Change-Id: Ie2db76a91bf3edac6a8670ce7d695060a2bd6473
* [MIPS] Add Goldfish target supportBhanu Chetlapalli2012-06-071-3/+10
| | | | | | | | | | | | | | | | | | | | | | Basic Goldfish support for MIPS. Also, Fix host CPU consumption when guest is idle When the CPU is in wait state, do not wake-up if an interrupt can't be taken. This avoid host CPU running at 100% if a device (e.g. timer) has an interrupt line left enabled. Also factorize code to check if interrupts are enabled in cpu_mips_hw_interrupts_pending(). CPU consumption based on a patch from Edgar E. Iglesias <edgar.iglesias@gmail.com> Change-Id: Ie8371c8d0c9af1e0c8ba4cac419979350de0f5d9 Signed-off-by: yajin <yajin@mips.com.cm> Signed-off-by: Douglas Leung <douglas@mips.com> Signed-off-by: Bhanu Chetlapalli <bhanu@mips.com> Signed-off-by: Chris Dearman <chris@mips.com>
* fix BUILD_DEBUG_EMULATOR buildIliyan Malchev2012-06-011-2/+3
| | | | | Change-Id: Ib888b8114d77270383c6ac563fb36bfdaf7b72fc Signed-off-by: Iliyan Malchev <malchev@google.com>
* Use the same compilation options on OS X 10.8 as 10.7Al Sutton2012-05-071-2/+2
| | | | | | | | Use the same linker option for handling dynamic libraries on OS X 10.8 as has been previously used on 10.7 Change-Id: I18860d779a2caa695cf4016da6d2123726b58427 Signed-off-by: Al Sutton <al@funkyandroid.com>
* Win SDK: Fix missing emulator iconRaphael Moll2012-05-041-0/+29
| | | | | | | | | History: It had been inadvertedly removed by the makefile reorg done in aff94b88c4ec057f20950d5e7a88b90cc4d97dce. SDK Bug: 21709 Change-Id: Icd147a1edb363e1ccbee2c3cade4ed34beceeeff
* Merge "Allow BUILD_HOST_static to build statically-linked emulator"Andrew Hsieh2012-04-281-0/+4
|\
| * Allow BUILD_HOST_static to build statically-linked emulatorAndrew Hsieh2012-04-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Statically linked emulator is easy to setup in sandboxed environment. With this and BUILD_HOST_static in build/ (seperate CL), statically-linked SDK tools can be built with the following command BUILD_HOST_static=1 make PRODUCT-sdk-aapt adb aidl dexdump fastboot \ llvm-rs-cc dmtracedump emulator emulator-arm emulator-x86 \ etc1tool hprof-conv mksdcard sqlite3 zipalign No need to build HW GL libraries (libOpenglRender, libGLES_CM_translator, libGLES_V2_translator and libEGL_translator) because statically-linked emulator doesn't support audio and graphics. (eg. -no-window) Change-Id: I209287a00f66295b8b8135451025428f03776a1a
* | Fix standalone emulator build.Jesse Hall2012-04-261-0/+3
|/ | | | | | | | | | - Allow building with OpenGL ES acceleration disabled, avoiding a dependency on stuff outside the QEMU project. - Allow the standalone configure.sh to provide the include/lib path for the OpenGL ES libraries. - Update the default OpenGL ES include path for standalone builds. Change-Id: I03f4627af4c271783b65a116ceb5934385c68cdc
* Publish and use libOpenglRender interface headerJesse Hall2012-04-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The emulator opengles.c file duplicated the function declarations from libOpenglRenderer's render_api.h instead of including it directly. This led to multiple bugs since the declarations didn't actually match, but there was no way for the compiler or dynamic loader to check this. This change makes opengles.c include render_api.h to get function pointer prototypes, and changes the prototypes/implementation as necessary to make both sides actually match. It should be much more difficult to introduce interface mismatch bugs now. Two bugs this change would have prevented: (a) The interface mismatch caused by inconsistent branching which led to GPU acceleration crashing on Windows. With this change, we would have caught the problem at compile time. (b) The emulator verbose log has always been printing "Can't start OpenGLES renderer?" even when the renderer started fine. This is because the renderer was returning a bool (true == success) but the emulator's declaration said it returned int, and the emulator assumed 0 meant success. This difference in return type should now be caught at compile time. Change-Id: I5b3c70c9a40854332d67e37333acd6edb6ad01f6
* Re-enable Linux 64-bit emulatorAndrew Hsieh2012-03-231-6/+6
| | | | | | | Restore rules in Makefiles for Linux 64-bit emulator, now that all the dependencies are merged (toolchain, lib64*.{a,so}, etc) Change-Id: I25ecc53837ad9f10ceafb89d9e1d7a3124ce2d71
* Revert to previous prebuilt toolchain until new ones are available in AOSPAndrew Hsieh2012-03-171-6/+6
| | | | | | | | | | The new prebuilt toolchains prebuilts/tools/gcc-sdk points to aren't available in AOSP yet (*). Without it, 64-bit emulator can't be built. Revert to previous prebuilt toochain and disable 64-bit emulator for now. (*) This git auto-sync to AOSP in short-time Change-Id: I7301bcbcbc1d4505d34ad69b562d0b9e5968093a
* 64-bit emulatorAndrew Hsieh2012-03-131-21/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch to allow emulator searches for emulator64-${ARCH} first on 64-bit OS. If none is found, the original behavior which searchs for 32-bit emulator-${ARCH} is performed as usual. 64-bit emulator (which still emulates Android built in 32-bit) offers up to 20% speedup compared to its 32-bit counterpart. Details: android/main-emulator.c 1) search emulator64 based on the OS 2) dlopen lib64OpenglRender in 64-bit Makefile.* 1) Rules to build 64-bit executable emulator64-{x86,arm} and libraries emulator64-{libui,libqemu,target-i386,target-arm,libelff,common} 2) remove -Wa,-32 3) Changes prebuit toolchain path android-configure.h android/build/common.h 1) no longer force 32-bit build (because now prebuilts/tools/gcc-sdk/gcc can now handle 64-bit 2) set ANDROID_PREBUILTS to correctly locate ccache android/config/*/config-host.h 1) Detect HOST_X86_64 and HOST_X86_64/HOST_I386 Misc 64-bit porting clean-up 1) use %zx to print variable of type size_t in hex 2) use %zu to print variable of type size_t in dec 3) Initialize query_parm to NULL 4) use PRIu64 to replace PDUd64 5) use PRId64/PRIu64/PRIX64 to print 64-bit 6) drop PRUx64 because PRIx64 does the same 7) cast pointer arith to intptr_t before casting to int 8) fixed 1ULL<<63 Change-Id: Ife62a20063a6ec38d4a9b23977e840af1fce149a
* Revert "Reference new location of SDK toolchain"Jean-Baptiste Queru2012-01-111-5/+1
| | | | This reverts commit 6e8d9298782ce4d5a7d506638ced4de0396735f9.
* Reference new location of SDK toolchainJean-Baptiste Queru2012-01-111-1/+5
| | | | Change-Id: Id28db802a5401141a5ec1052de81dbee5033577f
* Reference the new prebuilt ccache location.Ying Wang2012-01-091-1/+1
| | | | Change-Id: Id990e37b9d8803aa5a23c365076c4044ef4719af
* Improve emulator under MacOS LionAl Sutton2012-01-041-3/+4
| | | | | | Lion/XCode4 needs to be explicitly told the dynamic library lookup symbols in the precompiled libSDL are resolved at runtime
* Fix build on MacOS 10.7 / XCode 4Al Sutton2011-12-211-0/+5
| | | | | | | | | Force the inclusion of the dynamic linker libraries used by the prebuilt libSDL. I did look at turning the switch on to build libSDL from source, but libSDL-1.2 isn't buildable under 10.7/XCode 4, and they've moved on to 1.3 now, so that would have been a dead end; Change-Id: Idf75bb46e855929543395811d4d56e1f7dfa3785
* Fix build under MacOS 10.7 / XCode 4Al Sutton2011-12-211-2/+2
| | | | | | | | | | | This is change of a check in the emulator build file so it only applies a rule when it's being run on 10.6 instead of what it currently does, which is apply the run to any build running on 10.5 and above. This is needed because it's the part of the emulator build which requires the 10.4 SDK, which, of course, isn't available under XCode 4; Change-Id: I4748cc4ac50c966a7add04e000aa665d4738ba62
* Implemented Mac camera emulationVladimir Chtchetkine2011-10-121-1/+1
| | | | Change-Id: I01609e8bfcdd8ee5ef876344d0a334ecd69a2b7a
* Implements camera service in emulatorVladimir Chtchetkine2011-09-121-0/+1
| | | | | | | | | | | | This is fully functional camera service implementation, that works (tested) on both, Linux and Windows. Fixed little/big endian bugs in the coverter code. Moved preview frames to use RGB32 instead of RGB565: RGB32 conversions are simpler and faster in the guest. Made "payload size send" a separate routine Change-Id: I96954f4c2cb4e4ef4dd6a20e41897d79c5037bae
* Add hw.gpu.enabled hardware propertyDavid 'Digit' Turner2011-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new hardware property to enable GPU emulation (named hw.gpu.enabled). It is currently disabled by default. It also modifies the UI code to display the GL output properly inside the UI window. And sets the kernel parameter qemu.gles to either 0 or 1 to indicate to the guest system's GLES libraries whether to use GPU emulation or fallback to the software renderer. A future patch will also add auto-detection of desktop GL capabilities. For example, if the emulator is started on a headless server without an X11/GL display, hw.gpu.enabled will be forced to 'no', forcing the guest to use the software renderer. Another patch will allow to change the property from the command-line for debugging purpose. NOTE: If you want to test GPU emulation, change the default value of the property in android/avd/hardware-properties.ini from 'no' to 'yes'. You will need to run a ToT master AOSP tree with the following pending patches applied: https://review.source.android.com/25797 https://review.source.android.com/25154 https://review.source.android.com/25759 Change-Id: I1fa3512be24395244fd5068f2bf59ad54db5c7d5
* hw-config-defs.h: Remove from source tree + auto-generateDavid 'Digit' Turner2011-07-051-3/+5
| | | | | | | | | | | This patch modifies the emulator's build system to place the auto-generated file android/avd/hw-config-defs.h into the build directory. Before that, the file was placed in the source tree. + Fix the standalone build system to properly deal with generated source file dependencies + LOCAL_C_INCLUDES Change-Id: I4e77cd20bf4ca21f79d5dd19f27724bd8be53a79
* Fix -audio <name> and -no-audio processing.David 'Digit' Turner2011-06-271-0/+1
| | | | | | | | | Turns out that the string passed to putenv() must not be modified :-/ We provide our own win32 implementation for emulator-ui that doesn't embed the os-win32.c QEMU-specific file. Change-Id: I7260fbc37d23a5340dab589dfde577ef5eb10005
* win32: do not use -mno-cygwin when buildingDavid 'Digit' Turner2011-06-231-1/+1
| | | | | | | This option is no longer necessary, nor is it supported by recent versions of Cygwin and/or i586-mingw32msvc-gcc. Change-Id: Ie34481b60bfc3c1ced3e1ba09c4c935a7867e96d
* qemu-timer.c: upstream integrateDavid 'Digit' Turner2011-06-011-3/+3
| | | | Change-Id: I6856ded73b4dcd10fe4831697c8518f958aeffbb
* os-posix.c + os-win32.c and dependenciesDavid 'Digit' Turner2011-06-011-2/+5
| | | | | | + Generate qemu-options.def instead of qemu-options.h Change-Id: I043e6b0c1c58e5cc2e96d05465f39b42f9054b5a
* Add 'emulator' launcher program.David 'Digit' Turner2011-05-021-0/+13
| | | | | | | | | | | | | | | | | | | | | | | This patch renames the current ARM-specific emulator binary to 'emulator-arm' and introduces a new tiny (less than 20KB) 'emulator' launcher program. The role of 'emulator' is to launch either 'emulator-arm' or 'emulator-x86' based on the target AVD or platform build being used. This program will be replaced in the future by what is currently known as 'emulator-ui', but is a good placeholder until this work is completed. + Move some utility functions from android/avd/info.[hc] to android/avd/util.[hc] so that 'emulator' can use them directly. IMPORTANT: For platform builds, the target architecture is detected automatically by parsing the build.prop file. For SDK AVDs however, there is no easy way to determine the target architecture, so the patch adds a new hw.cpu.arch property which can have value 'arm' or 'x86' Change-Id: I0084c196695a75c8b9230ba716b3cd2e12610ded
* Fix windows build when USE_CCACHE is defined.David 'Digit' Turner2011-03-121-0/+1
| | | | | | | This avoids a problem where the Makefile force the use of the non-existing prebuilt/windows/ccache/ccache. Change-Id: Icad0fb91a211787bbe73b169aa4e8046de349679
* Fix the standalone emulator build.David 'Digit' Turner2011-03-021-1/+3
| | | | | | The previous commit broke it due to the way it handled LOCAL_AR. Change-Id: I3458f9306b3fca9771d868673ae89f4d995aeec3
* Avoid redefining HOST_CC/CXX when building the emulator.David 'Digit' Turner2011-03-021-4/+5
| | | | | | | | | HOST_CC and HOST_CXX are defined/controlled by the build system. We don't want to redefine them here because this forces, on Linux, the use of the 32-bit host toolchain for all other host modules built after external/qemu. Change-Id: Ic9dc32b56f5e8d28559b5375178768726ad5cdcc
* Build arm and x86 binaries at the same time.David 'Digit' Turner2011-02-241-1195/+76
| | | | | | | | | | | | This patch modifies the way we build the emulator's various programs. It reduces the number of static libraries generated, and better segregates between common, ui, qemu and target-specific code. Note that we build both the arm and x86 binaries at the same time in all build scenarios for now. This is done to catch build regressions as soon as possible. Change-Id: I6240705041e137e32f207e1e2444c614c52aaf05
* Remove android/main-ui.cDavid 'Digit' Turner2011-02-231-1/+1
| | | | | | | | | | | | The differences between android/main.c and android/main-ui.c are now minimal, so remove the latter source file by moving the corresponding code into android/main-common.c Also add a -snapshot-no-time-update core option to implement the emulator-ui -no-snapshot-update-time option. We're probably going to clean this up a little in the future, but this is enough for now. Change-Id: I868bb4e47c3d106ae7436ee3f5b2c0ff5fb6ea5c
* Revert "Build arm and x86 binaries at the same time."Xavier Ducrohet2011-02-091-60/+1201
| | | | | | This fails to build on MacOS X This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
* Build arm and x86 binaries at the same time.David 'Digit' Turner2011-02-101-1201/+60
| | | | Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
* Rename qemu-android to qemu-android-$(TARGET_ARCH)David 'Digit' Turner2011-02-091-2/+1
| | | | | | | This makes it easier to distinguish between the ARM and x86 versions of the program. Change-Id: Id6991e4c4b14c560d1732da05e253c678ca392d9
* x86: Add x86 support. Rebase the change (20906/1) due to a minor conflict.Jun Nakajima2011-02-021-30/+107
| | | | | | | Change-Id: Ic73cca0fc6c6e5cf74f63daa6080d00aa7c392bb Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com> Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
* Simplify UI-only sources.David 'Digit' Turner2011-02-021-4/+1
| | | | | | | | | | Get rid of console-ui.c, qemu-timer-ui.c and modify vl-android-ui.c to use a generic Looper object instead of a crummy event loop. We still need to implement qemu_set_fd_handler for two sources under android/protocol/ but this will be cleaned up later. Change-Id: Icd0762675ca2f54e720a9cec40f96caea500b52f
* Move framebuffer.h to android/David 'Digit' Turner2011-02-021-3/+3
| | | | | | | The QFrameBuffer is no used by QEMU-specific code anymore so it's more logical to move it here. Change-Id: Id49ff53dd49648000e7543652d66f7c03881a8cb
* Move core-connection.c from to android/protocol/David 'Digit' Turner2011-02-021-1/+1
| | | | Change-Id: I1f04ed1f00fccdea043f4a4fbf5ba745b36bbcc7
* Move common main routines from into android-common.[hc]David 'Digit' Turner2011-02-021-0/+2
| | | | | | This is a first step towards cleaning-up our initialization/startup code. Change-Id: I2d4fbc5c2cd0181fb39a1a97a15650945038c3b9
* Add cache-util.c to built sources for PPCMarcus Comstedt2011-02-011-1/+2
| | | | | | | The file cache-utils.c contains code that is referenced in a build for a PowerPC host. Change-Id: I284481d4015de8d7fc230014faf9a1ead61c222c
* Refactor attach-UI serviceVladimir Chtchetkine2011-01-311-0/+2
| | | | Change-Id: Ia68ceb57ee5b5a66fa76b837fe3b990eb12e7188
* Refactor the framebuffer serviceVladimir Chtchetkine2011-01-311-2/+2
| | | | Change-Id: I8ac4580af65b8d58976c97b77b309dd202e75003