Difference between revisions of "Build for Windows"
(→Preparing for compile) |
|||
Line 28: | Line 28: | ||
[[Image:Msys_cd.png]] | [[Image:Msys_cd.png]] | ||
+ | You can run the command pwd to know where you are located | ||
+ | pwd | ||
Line 45: | Line 47: | ||
[[Image:After_configure.png|''It should look like this after the configure'']] | [[Image:After_configure.png|''It should look like this after the configure'']] | ||
<center>''It should look like this after the configure''</center> | <center>''It should look like this after the configure''</center> | ||
− | |||
==Compile== | ==Compile== |
Revision as of 10:56, 25 November 2007
Contents
Prerequites
Before we can start to compile xmoto under windows, then we need to get 2 programs called Msys and MinGW. Fortunatly these are packed into one program, so they should be really easy to get.
Therefore go to this site and download the most recent package. Unpack them to a place on your computer, but be aware; DO NOT place them in a path that contains spaces (Like C:\documents and settings). That will cause an error because of a bug.
Preparing for compile
Okay, when Msys and MinGW are placed in a valid folder then open the Msys terminal (~msysForXMoto\msys.bat). It should look like this:
It's from this terminal we'll compile later on. But first we need the most recent source code for X-Moto. To get this, we use the command
svn co svn://svn.tuxfamily.org/svnroot/xmoto/xmoto/trunk
This action will probably take some minutes. It will download the source code, and place it at ~\msysForXMoto\home\xmoto\trunk.
- Note that in Msys you do not paste with ctrl-v but with the middle mousebottom.
After the download is done, then we need to change directory so we are at the source code.
To this we use the command
cd trunk
You can run the command pwd to know where you are located
pwd
When you got that:
sh ./bootstrap
That won't take a lot of time.
And when the bootstrap is done:
./configure
This will take some minutes. Be aware of that you maybe some errors, about missing .dll files. Just ignore them and press ok. It won't stop msys from configuring. Take a look at this section if you wan't to know more about the configure
Compile
After the configure comes the real compile. To do this we use the command:
make
This will take a lot of time if it's the first time that you compile X-Moto. “Make” will produce the xmoto.exe and place it at \msysForXMoto\home\xmoto\trunk\src\xmoto.exe.
There is only one command left now when the make is done:
strip src/xmoto.exe
This command will remove a lot of unnecessary debugging stuff and make the .exe files size smaller.
Now we only need to make the .exe run. But we need a lot of additional files which are found in the xmoto directory, therefor the smartest thing to do is to make a copy of the whole x-moto folder (call it my_xmoto).
Then the absolute final thing; copy the xmoto.exe from trunk\src to the my_xmoto folder.
Then Double-click and enjoy your own compiled xmoto!
Additional things to know
In this section can you find things that are nice to know about compiling X-Moto.
Updating your source code
Insted of downloading all sources codes each time you want to update your svn version, then use the command:
svn up
Then you'll only download updated files.
About using commands in Msys
If you added or removed something in the source code, and you want to re-compile then you might wonder: Do i need to do sh ./bootstrap and ./configure? The answer is no. You only need to do the bootstrap and configure if... (Aspegic500 write some clever things here).
Also insteed of doing the ./configure commando then you can just use
./config.status --recheck
That will, as the name says, only configure the things that are necessary.
Grep
Another smart thing msys can do, is to search in the source code after keywords. To do this we use the command grep.
it works like this: grep [How to look for it][What to look for][Where to look for it]
An example:
grep -i -n x-moto trunk/src/*.cpp
gives the output:
Try to write
grep --help
And figure out why we get that output!
More about configure
When you succed the configure, a sort of table comes as you may have noticed. That table tells if an option is enabled or not.
But it also show which commands you should use to enable a option. For example if you want xmoto to use the zoom option:
./configure --with-enable-zoom=1