forked from hyphanet/fred
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.clean-build
31 lines (18 loc) · 2.22 KB
/
README.clean-build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
There are a number of complications when rebuilding Freenet fully from source.
First, freenet-ext.jar:
Check out the source, then do:
ant -f freenet_ext/build.xml
If on 64-bit, do:
ant -Dbits=64 -f freenet_ext/build.xml
If you want to set the revision, add -Dgit.revision=`git describe` to the above command line.
Note that ant will rebuild all of the java code in freenet-ext.jar, but there is a good deal of native code that won't be rebuilt; we ship a freenet-ext.jar including binaries for several platforms, if you want to build them yourself then remove all the old binaries and build them manually. They should be in fec, NativeBigInteger, NativeThread, win_wrapper and wrapper.
Second, if you distclean Freenet, the GWT-generated javascript will be deleted. To rebuild it you need gwt-dev-linux.jar and gwt-user.jar in lib/. The easy way out is either not to do distclean, or put Google's binaries in. Unfortunately, a fully clean build of Google Web Toolkit will involve a good deal of manual work. And they don't even provide a source tarball. We suggest you start by checking out the following:
svn checkout http://google-web-toolkit.googlecode.com/svn/releases/1.7/ release-1.7
svn checkout http://google-web-toolkit.googlecode.com/svn/tools/
(When I looked into it was on the 27th of August 2009, so the SVN rev was approximately 6019)
We strongly recommend you get a Google Code account and use https, for example:
svn checkout --username matthew.toseland https://google-web-toolkit.googlecode.com/svn/releases/1.7/ release-1.7
svn checkout --username matthew.toseland https://google-web-toolkit.googlecode.com/svn/tools/
It will prompt you for your password, enter your google code password.
Unfortunately there are a lot of .jar's as well as native code binaries in tools/. Whether any of these are executed during the build process is unclear; there are e.g. ant jars. There are native code binaries in the release dir too I think, but we don't need them. But they get built into the gwt-dev-linux.jar anyway. Rebuilding all the jar's in tools/ will be a fairly major project by itself. Some have source zip's and some don't, and anyway for a clean build you shouldn't trust the source tarballs.
Help with automating this would be appreciated!