From 07da50e9fd6742f63b97f0f1743f6050277a34e9 Mon Sep 17 00:00:00 2001
From: Karl Chen
Date: Fri, 6 Jun 2003 21:38:44 +0000
Subject: [PATCH] Added distribution rule to take care of CRLF translation ;
wrote some html notes on build system and updated the build checklist
svn path=/trunk/boinc/; revision=1326
---
.cvsignore | 5 +++++
client/.cvsignore | 1 +
client/Makefile.am | 4 ++++
configure.ac | 4 ++--
doc/boinc_dev.html | 2 +-
doc/build.txt | 29 ++++++++------------------
doc/build_system.html | 48 +++++++++++++++++++++++++++++++++++++++++++
7 files changed, 70 insertions(+), 23 deletions(-)
create mode 100644 doc/build_system.html
diff --git a/.cvsignore b/.cvsignore
index 0e56cf2f8c..3d7a5cce19 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1,6 @@
config.h
+boinc-*.tar.gz
+boinc-*.tar.bz2
+boinc-*.zip
+stamp-h*
+configure.lineno
diff --git a/client/.cvsignore b/client/.cvsignore
index ac59e6c495..f0cb51b280 100644
--- a/client/.cvsignore
+++ b/client/.cvsignore
@@ -1,3 +1,4 @@
*.xml
projects
slots
+master.html # generated by test scripts
diff --git a/client/Makefile.am b/client/Makefile.am
index ca3c5d60a2..a0af0517a8 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -62,3 +62,7 @@ EXTRA_DIST = \
clean-local:
rm @CLIENT_BIN_FILENAME@
+
+## remove carriage returns in case CVS screwed it up.
+dist-hook:
+ cd $(distdir)/win_build && perl -pi.bak -e 'tr /\r//d' boinc.dsw */*.dsp
diff --git a/configure.ac b/configure.ac
index 4cc068ff8c..f09a181987 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl not sure exactly what the minimum version is (but 2.13 won't work)
AC_PREREQ(2.57)
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(BOINC, 1.02, [seti@ssl.berkeley.edu])
+AC_INIT(BOINC, 1.03, [davea@ssl.berkeley.edu])
AC_CANONICAL_SYSTEM
@@ -32,7 +32,7 @@ under the License.
The Original Code is the Berkeley Open Infrastructure for Network Computing.
The Initial Developer of the Original Code is the SETI@home project.
-Portions created by the SETI@home project are Copyright (C) 2002
+Portions created by the SETI@home project are Copyright (C) 2002, 2003
University of California at Berkeley. All Rights Reserved.
Contributor(s):
diff --git a/doc/boinc_dev.html b/doc/boinc_dev.html
index 60126fb817..84e5b7eec5 100644
--- a/doc/boinc_dev.html
+++ b/doc/boinc_dev.html
@@ -25,7 +25,7 @@ before getting into the source code.
Core client
-- Building the core client
+
- Building the core client (Build system)
- File structure
- FSM structure
- Data structures
diff --git a/doc/build.txt b/doc/build.txt
index 189b4b5c6b..078d2c6fb3 100755
--- a/doc/build.txt
+++ b/doc/build.txt
@@ -53,7 +53,13 @@ Setup Build Environments
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UNIX/Linux
-* ?
+* g++ (tested with 2.95, 3.3)
+
+* standard build tools: make (and ...?)
+
+* If you modify make files: autoconf 2.57, automake 1.7
+
+* for building source distributions: tar, gzip, bzip2, zip
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Windows
@@ -66,8 +72,6 @@ Windows
* InstallShield 5.5 Professional Edition.
-* WinCvs 1.2, available from www.wincvs.org.
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Macintosh
@@ -81,8 +85,6 @@ Macintosh
Build Source Release
-0 Run on a UNIX/Linux machine with the unix2dos program installed
-
1 Get latest source using CVS
1.1 At command line, enter:
@@ -94,22 +96,9 @@ Build Source Release
cvs -z3 -d:pserver:anonymous@cvs.boinc.sourceforge.net:/cvsroot/boinc co boinc
-2 Make source tarballs and zipfiles
+2 Make source distributions (.tar.gz, .tar.bz2, .zip)
- 2.1 Fix Windows workspace/project files
- 2.1.1 Using CVS on UNIX will often change carriage returns on Windows workspace
- and project files, which means they are corrupted in the eyes of Visual Studio.
- 2.1.2 cd boinc/win_build
- 2.1.3 unix2dos boinc.dsw ; unix2dos */*.dsp
-
- 2.2 setenv BOINC_MAJOR_VERSION x
- setenv BOINC_MINOR_VERSION y
- Where x.y is the release version number.
-
- 2.3 cd boinc
- 2.4 ./configure; make zip; make tar
- 2.5 cd client
- 2.6 ./configure; make zip; make tar
+ 2.1 cd boinc && ./configure && make dist-client
-------------------------------------------------------------------------
diff --git a/doc/build_system.html b/doc/build_system.html
new file mode 100644
index 0000000000..1eb2a81a8e
--- /dev/null
+++ b/doc/build_system.html
@@ -0,0 +1,48 @@
+
+
+
+
+ Build system
+
+
+
+
+
Details of the automake/autoconf build system
+
+ The build system uses autoconf 2.57 and automake
+ 1.7. You should modify only the Makefile.am
files, which
+ generate the Makefile.in
files (and
+ the configure
script produced by autoconf will generate the
+ Makefile
s from those).
+
+
+
+ The top-level Makefile.am
contains the
+ SUBDIRS=
line which sets up directory recursion, and the
+ rules for creating source distributions.
+
+
+ To make distributions:
+
+ make dist
+ make dist-client
+
+
+
+
+ ... will make the full and client distributions respectively. (The client
+ distribution contains everything necessary to compile the client; the
+ full distribution contains everything necessary to compile the server
+ and client.)
+
+
+
+ Each will make .tar.gz
, .tar.bz2
,
+ and .zip
files. You can also make only the individual ones
+ using the make
+ targets dist-bzip2
, dist-gzip
, dist-zip
.
+
+
+