[HTC Wildfire S] Eskuero:
After a read the impatience of a lot of people claiming for updates and news builds without checking before that devs got's a life, I decide to start the thread that will explain step by step how to compile CM10 from asn sources for the GSM version of the HTC Wildfire S, that means no love for marvelc.

Excuse me the incoherences and the incomprehensible stuff of my bad english.

Before you start doing nothing you agree that you're going to experiment, and that I'm not the culprit if you lose all of your files on the computer, or if you broke it.

¿Your first build?

1 - You need to download and install an .iso image of an Linux distribution, in this case we're going to use Ubuntu 12.04, so I recommend it, you can donwload from here:

http://www.ubuntu.com/download/desktop

P.D: DON'T USE THE WINDOWS DOWNLOADER

If you don't know how to install the .iso file after downloading I recomment you this tutorial:

http://howtoubuntu.org/how-to-install-ubuntu-12-04-precise-pangolin/

You've already Ubuntu installed and you're ready, so let's start with fun!

2 - We need to install a few packages that are needed to compile, so you must to start Terminal, which is the command line program for Ubuntu, like CMD is on Windows, then type this:

sudo apt-get install git-core gnupg flex bison gperf libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev libc6-dev ia32-libs x11proto-core-dev lib32z-dev mingw32 tofrodos python-markdown python python-lunch libxml2-utils xsltproc libx11-dev:i386

This will need about 10 min more or less.

3 - Now we need to dowload and install JDK 6 from Sun Java webpage, and then install it, I recommend to follow this tutorial:

http://www.printandweb.ca/2012/04/manually-install-oracle-jdk-6-for.html

Okay, we got all the libraries that we need to compile the sources, but... Where's the source?

This is the most annoying part of the procces, the code size is about 7 or 8 GB, so if you didn't got the NASA widthband, you might need to be patience, on my computer at 300 kbps it needs about 6 or 7 hours to download all.

Okey, let's stop speaking and start working.

4 - Type this on terminal, this'll download the repo script that you need to manage and get all the proyects that compose Jellybean:

mkdir ~/bin; curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo; chmod a+x ~/bin/repo;sudo gedit .bashrc

It'll ask your Ubuntu password (if you got one) and then an text file'll be open, add in the bottom of it this line:

export PATH=${PATH}:~/bin

5 - Now, we need to create a working directory to place the source and our builds, I recommend to keep a good folder organization, so type this on terminal:

mkdir -p ~/building/cyanogenmod/jellybean; cd ~/building/cyanogenmod/jellybean

6 - Now we need to specify whith what version of android we're going to work, in this case jellybean so type this:

PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b jellybean

7 - Now there's only one step before start the download of the code, type this:

gedit .repo/local_manifest.xml

Now an empty file'll appear, you must to copy and paste this inside it:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />

<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7227" remote="cryptomilk" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_msm7x27-recovery.git" path="device/htc/msm7x27-recovery" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_msm7x27-common.git" path="device/htc/msm7x27-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel-common.git" path="device/htc/marvel-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_qcom_msm7x27.git" path="vendor/qcom/msm7x27" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_marvel.git" path="vendor/htc/marvel" remote="cryptomilk" />
</manifest>

8 - Now type this on terminal:

gedit .repo/manifest.xml

Another text file will appear, you should find this line:

<project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" />

And replace for this one:

<project path="hardware/qcom/display" name="LibertyICS/android_hardware_qcom_display" />

9 - Now type this on terminal:

repo sync

This'll download all the code, so go out and enjoy the day(:

¿Building again?

Now I'm sure that you got all the source and wants to build NOW :D

1 - So let's go, you only need to copy and paste this into a terminal emulator, after going into the folder where we locate the source, in this case it's ~/building/cyanogenmod/jellybean:

cd ~/building/cyanogenmod/jellybean;repo sync;./vendor/cm/get-prebuilts;cd bionic;git fetch http://review.cyanogenmod.com/CyanogenMod/android_bionic refs/changes/31/14631/1 && git cherry-pick FETCH_HEAD;cd ..;cd hardware/msm7k;git fetch http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k refs/changes/58/15058/3 && git cherry-pick FETCH_HEAD;cd ..;cd ..;source build/envsetup.sh; lunch cm_marvel-eng;export USE_CCACHE=1

The lasts line will resync all the changes from upstream, get all prebuilts apps, patch camera and gps fixes on upstream and prepare the source to build for our phone.

2 - Now, we only need to type one line more, and the build might start then:

make -jx bacon

You should replace the x from -jx for number of cores in your CPU by two, for example if you got an 4 core machine (like me):fingers-crossed: you should put "make -j8 bacon".

3 - Now the build will start, it normally takes one hour and half, so be patience.

When it's finished you get something like this:

Package complete: /home/oliver/building/cyanogenmod/jellybean/out/target/product/marvel/update-cm-10.0.0-RC0-marvel-UNOFFICIAL-signed.zip

Happy compiling!:laugh: