Revert portions of 7acb141ed7f2dedd950bb65acf878098640d081e that attempt to use a...
[jquery.git] / README.md
index 0364fb6..d56576c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,63 +1,64 @@
 [jQuery](http://jquery.com/) - New Wave Javascript
-================================
+==================================================
 
 What you need to build your own jQuery
----------------------------------------
-* Make sure that you have Java installed (if you want to build a minified version of jQuery).
-If not, go to this page and download "Java Runtime Environment (JRE) 5.0"  
-[http://java.sun.com/javase/downloads/index.jsp](http://java.sun.com/javase/downloads/index.jsp)
+--------------------------------------
 
-* You now have two options for building jQuery, if you have access to common UNIX commands (like `make`, `mkdir`, `rm`, `cat`, and `echo`) then simply type `make` to build all the components.
+In order to build jQuery, you need to have GNU make 3.8 or later, Node.js 0.2 or later, and git 1.7 or later.
+(Earlier versions might work OK, but are not tested.)
 
-* The other option is if you have Ant installed (or are on Windows and don't have access to make). You can download Ant from here: [http://ant.apache.org/bindownload.cgi](http://ant.apache.org/bindownload.cgi)
-If you do have Ant, everytime (in this README) that I say 'make', do 'ant' instead - it works identically (for all intents and purposes).
+Windows users have two options:
 
-How to build your own jQuery
------------------------------
+1. Install [msysgit](https://code.google.com/p/msysgit/) (Full installer for official Git),
+   [GNU make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm), and a
+   [binary version of Node.js](http://node-js.prcn.co.cc/). Make sure all three packages are installed to the same
+   location (by default, this is C:\Program Files\Git).
+2. Install [Cygwin](http://cygwin.com/) (make sure you install the git, make, and which packages), then either follow
+   the [Node.js build instructions](https://github.com/ry/node/wiki/Building-node.js-on-Cygwin-%28Windows%29) or install
+   the [binary version of Node.js](http://node-js.prcn.co.cc/).
 
-In the main directory of the distribution (the one that this file is in), type
-the following to make all versions of jQuery:
+Mac OS users should install Xcode (comes on your Mac OS install DVD, or downloadable from
+[Apple's Xcode site](http://developer.apple.com/technologies/xcode.html)) and
+[http://mxcl.github.com/homebrew/](Homebrew). Once Homebrew is installed, run `brew install git` to install git,
+and `brew install node` to install Node.js.
 
-`make`
+Linux/BSD users should use their appropriate package managers to install make, git, and node, or build from source
+if you swing that way. Easy-peasy.
 
-Here are each of the individual items that are buildable from the Makefile.
 
-`make init`
+How to build your own jQuery
+----------------------------
 
-Pull in all the external dependencies (QUnit, Sizzle) for the project.
+First, clone a copy of the main jQuery git repo by running `git clone git://github.com/jquery/jquery.git`.
 
-`make jquery`
+Then, to get a complete, minified, jslinted version of jQuery, simply `cd` to the `jquery` directory and type
+`make`. If you don't have Node installed and/or want to make a basic, uncompressed, unlinted version of jQuery, use
+`make jquery` instead of `make`.
 
-The standard, uncompressed, jQuery code.  
-Makes: ./dist/jquery.js
+The built version of jQuery will be put in the `dist/` subdirectory.
 
-`make min`
+To remove all built files, run `make clean`.
 
-A compressed version of jQuery (made the Closure Compiler).  
-Makes: ./dist/jquery.min.js
 
-`make lint`
+Building to a different directory
+---------------------------------
 
-Tests a build of jQuery against JSLint, looking for potential errors or bits of confusing code.
+If you want to build jQuery to a directory that is different from the default location, you can specify the PREFIX
+directory: `make PREFIX=/home/jquery/test/ [command]`
 
-`make selector`
+With this example, the output files would end up in `/home/jquery/test/dist/`.
 
-Builds the selector library for jQuery from Sizzle.  
-Makes: ./src/selector.js
 
-Finally, you can remove all the built files using the command:
-  
-`make clean`
+Troubleshooting
+---------------
 
-Additionally, if you want to install jQuery to a location that is not this
-directory, you can specify the PREFIX directory, for example:
-  
-`make PREFIX=/home/john/test/`
+Sometimes, the various git repositories get into an inconsistent state where builds don't complete properly
+(usually this results in the jquery.js or jquery.min.js being 0 bytes). If this happens, run `make clean`, then
+run `make` again.
 
-OR
 
-`make PREFIX=~/www/ docs`
+Questions?
+----------
 
-If you have any questions, please feel free to ask them on the jQuery
-mailing list, which can be found here:  
-[http://docs.jquery.com/Discussion](http://docs.jquery.com/Discussion)
+If you have any questions, please feel free to ask on the
+[Developing jQuery Core forum](http://forum.jquery.com/developing-jquery-core) or in #jquery on irc.freenode.net.