+Written by Charlie Fenton + +
+Last updated 5/17/05 + +
+These directions are for building under OS X version 10.4 (Tiger) using XCode Developer Tools version 2.0, or OS X version 10.3 (Panther) using XCode 1.5. + +
+ +XCode 1.5 installs autoconf version 2.57 and automake 1.63. XCode 2.0 installs autoconf 2.59 and automake 1.63. To determine the version number, type "autoconf --version" or "automake --version" . Building BOINC requires autoconf 2.59 and automake 1.93 or later. + +
+Upgrades for autoconf and automake are available from www.gnu.org. XCode installed these utilities in the /usr/bin/ directory, but the upgrades by default will install in /usr/local/bin/. If you install there, you must also set your PATH environment variable to include that location before proceeding with any of the steps below; type the following at the start of your terminal session: + +
+export PATH=/usr/local/bin:$PATH ++ +
+If you are building under OS 10.4, you must first install XCode's optional Cross-Development SDK for system 10.3.9 from the XCode Tools CD. This guarantees that all builds are backward compatible to OS 10.3.9. This is not necessary for building under OS 10.3. + + + +
+You will need to set the environment variables CPPFLAGS and LDFLAGS as described below. These commands are for the bash shell; use the equivalent commands if you are running a different UNIX shell. Some of these environment variables allow the application to be built using the OS 10.3.9 compatibility SDK. + +
+First set the CPPFlags environment variable. If you are building under OS 10.4: + +
+export CPPFLAGS="-isysroot /Developer/SDKs/MacOSX10.3.9.sdk -DMAC_OS_X_VERSION_MAX_ALLOWED=1030 -I../jpeglib" ++ +
+If you are building under OS 10.3: + +
+export CPPFLAGS="-DMAC_OS_X_VERSION_MAX_ALLOWED=1030 -I../jpeglib" ++ +Then continue building wxMac-2.6.0: + + +
+cd [wxpath] +autoconf +mkdir osx-build +cd osx-build +../configure --disable-shared --with-opengl --disable-webkit +make ++If you are building under OS 10.4, set the LDFlags environment variable +after the configure but before the make: +
+export LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk" + +make ++ + +(2) Open a new terminal window to reset your session environment variables and set the working directory: + +
+cd [boincpath] ++ +(3) Create a symbolic link [boincpath]/wx_lib pointing to +[wxpath]/osx-build/lib/ + +
+(4) Create a symbolic link [boincpath]/wxinclude pointing to +[wxpath]/include + +
+(5) Create a symbolic link [boincpath]/jpeglib pointing to +your jpeg-6b directory (or whatever directory contains the jpeglib source files). + +
+For example, if the boinc, wxMac-2.6.0 directory is at [wxpath] and the jpeg-6b directory is at [jpegpath] then the commands would be: + +
+ln -s [wxpath]/osx-build/lib wx_lib +ln -s [wxpath]/include wxinclude +ln -s [jpegpath] jpeglib ++ +(6) Run Configure to create the correct config.h file for BOINC: + + +
+Add the path to wx-config to the standard search path. Either: + +
+export PATH=[wxpath]/osx-build:$PATH ++ +or (if your autoconf and automake are in /usr/local/bin/): + +
+export PATH=/usr/local/bin:[wxpath]/osx-build:$PATH; ++ +Set the CPPFlags environment variable. If you are building under OS 10.4: + +
+export CPPFLAGS="-isysroot /Developer/SDKs/MacOSX10.3.9.sdk -DMAC_OS_X_VERSION_MAX_ALLOWED=1030 -I../jpeglib -I../wxinclude -L../wx_lib" ++ +If you are building under OS 10.3: + +
+export CPPFLAGS="-DMAC_OS_X_VERSION_MAX_ALLOWED=1030 -I../jpeglib -I../wxinclude -L../wx_lib" ++ +Then continue configuring BOINC: + +
+./_autosetup +./configure --disable-server --with-apple-opengl-framework --build=powerpc-apple-darwin ++ + +(7) Since we have an XCode project, you don't normally need to build BOINC from the command line. But if you wish to do so: + +
+Set the LDFlags environment variable after the configure but before the make. If you are building under OS 10.4: + +
+export LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk -L../wx_lib -F/Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks" ++ +If you are building under OS 10.3: + +
+export LDFLAGS="-L../wx_lib" +make ++ +
+(1) Double-click on [boincpath]/mac_build/boinc.pbproj to launch the XCode development IDE with the BOINC project. + + +
+(2) Select the appropriate cross-development sdk as follows: +
+(3) In the Active Target popup, select mgr_boinc or Build_All. Build_All also builds the three libraries libboinc_api.a, libboinc_graphics_api.a and libboinc.a, which are used to build science applications such as SETI@home. These libraries are not needed by the BOINC Manager or Core Client. In addition, Build_All builds the screensaver BOINCSaver.saver and the installer halper application Postinstall.app. + + + +
+(4) In the Active Build Style popup, choose Development (for debugging) or Deployment (for release builds.) + + + +
+(5) If you have switched Build Style, be sure to do a "Clean All Targets" from the Build menu; otherwise object files from the old build style will not be rebuilt in the new build style. + + + +
+(6) If you are building the screensaver, be sure to unstuff the file: + +[boincpath]/clientgui/mac/BOINCSaver.nib.sit + + +
+ +(7) Select Build from the Build menu. I suggest you also open the Detailed Build Results window from the Build menu. Wait a long time while it compiles. + + +
+ +(8) In addition to the BOINC Manager BOINC.app and Core Client boinc, the mgr_boinc target will also build the SystemMenu.bundle framework and a small helper utility SetVersion. + + +
+ +(9) SetVersion is run automatically as part of the build process to update the following Mac version information files using the contents of version.h: +
+InfoPlist.strings, +Info.plist (under the resources group) +SystemMenu-Info.plist +ScreenSaver-Info.plist +Installer-Info.plist ++ +
+ +(10) The boinc-client, SystemMenu.bundle and InfoPlist.strings will all be embedded automatically inside the BOINC.app application bundle as part of the build process. + +
+ + +After creating the deployment build of all targets using Build_All, use the Finder to do the following: + +
+(1) In a convenient place on disk, create a directory "Installer_Resources". Copy the following items into this directory: +
+[boincpath]/mac_installer/License.rtf +[boincpath]/mac_installer/ReadMe.rtf +[boincpath]/mac_installer/postinstall +[boincpath]/mac_installer/postupgrade +[boincpath]/mac_build/build/Postinstall.app ++ +NOTE: the file extensions (such as .app and .saver) may be hidden by the Finder. You can check an item's extension by selecting it in the Finder and using Get Info function from the Finder's File menu. + + +
+ +(2) Create another directory "Pkg_Root", and inside that create two more directories "Applications" and"Library". Create: + +
+ +(3) Copy [boincpath]/mac_build/build/BOINCManager.app into your + +"Pkg_Root/Applications" directory. + +
+ + +(4) Copy [boincpath]/mac_build/build/BOINCSaver.saver into your + +"Pkg_Root/Library/Screen Savers" directory. + +
+ + +(5) Copy the contents of boincpath]/locale/client/ into your + +"Pkg_Root/Library/Application Support/BOINC Data/locale" directory. (You may optionally exclude the CVS subdirectories to save space.) + + +
+ +You will now have the following directory structure: +
+Pkg_Root + Applications + BOINCManager.app + Library + Application Support + BOINC Data + locale + de + en_US + it + etc..... + Screen Savers + BOINCSaver.saver ++ +
+(6) From the Finder, open [boincpath]/mac_installer/BOINC.pmproj (if running OS 10.3, use BOINC.pmsp). +It will open in the PackageMaker application. In the Files tab, set the path to your Pkg_Root directory. in the Resources tab, set the path to your Installer_Resources directory. Update the version number in multiple places in the Description and Version tabs. + + +
+ +(7) Select "Create Package" from PackageMaker's File menu. You can give any name you wish to the installer package when you create it, but do not change the package name after it is created. + + +
+ +(8) Quit PackageMaker. + + + +
+(1) Create a directory and name it appropriately, e.g. "boinc_4.37_macOSX". Copy the installer package and the ReadMe file into the directory. + + + +
+(2)After selecting the directory you just created and populated, select Create archive from the Finder's File menu. This will zip the file. (Note: if you want to stuff the file instead of zipping it, be sure to uncheck "stuff originals instead of aliases" in DropStuff's preferences.) + + +
+ +(3) Rename the zip file as appropriate to show the version number; +for example, boinc_4.37_maxOSX.zip. + + + + +
+(1) Open a new terminal window to reset your session environment variables and set the working directory: + +
+cd [setipath] ++ +(2) You will need to set some environment variables as described below. These commands are for the bash shell; use the equivalent commands if you are running a different UNIX shell. Some of these environment variables allow the application to be built using the OS 10.3.9 compatibility SDK. + +
+First set the CPPFlags environment variable. If you are building under OS 10.4: +
+export CPPFLAGS="-isysroot /Developer/SDKs/MacOSX10.3.9.sdk -DMAC_OS_X_VERSION_MAX_ALLOWED=1030 -L[setipath]/jpeglib -ljpeg" ++ +
+If you are building under OS 10.3: + +
+export CPPFLAGS="-DMAC_OS_X_VERSION_MAX_ALLOWED=1030 -L[setipath]/jpeglib -ljpeg" + +export PROJECTDIR=[setipath] + +export BOINCDIR=[boincpath] ++ +If your autoconf and automake are in /usr/local/bin/: + +
+export PATH=/usr/local/bin:$PATH ++ +(2) Run Configure to create the correct config.h file: + + +
+./_autosetup +./configure --disable-server --with-apple-opengl-framework --disable-dynamic-graphics ++ + +
+(3) Copy the correct jpebglib.a into [path]/seti_boinc/jpeg/ ????? + + +
+ +(4)Create a symbolic link [path]/seti_boinc/boinc pointing to the boinc directory + + +
+cd [boincpath]/seti_boinc +ln -s [boincpath] ./boinc ++ + +
+ +The XCODE project for building the BOINC SETI@home client application is + +[boincpath]/seti_boinc/mac_build/seti_boinc.xcode. + + + diff --git a/doc/screensaver.php b/doc/screensaver.php new file mode 100644 index 0000000000..dd4b04e2ba --- /dev/null +++ b/doc/screensaver.php @@ -0,0 +1,35 @@ + +
+Normally, if you press a key or mouse the mouse +while the screensaver is active, +the screensaver will exit. +Some BOINC applications handle keyboard/mouse input. +If you hold down the control key, +any additional input will be passed to the application, +and your computer will remain in screensaver mode. +"; +page_tail(); +?> diff --git a/doc/stats_sites.php b/doc/stats_sites.php new file mode 100644 index 0000000000..b418d66540 --- /dev/null +++ b/doc/stats_sites.php @@ -0,0 +1,22 @@ + +The following web sites show statistics for one or more BOINC projects: +"; +stats_sites(); +echo " +These sites use XML-format data exported by BOINC projects. +The format is described +here. +If you are interested in running your own site or +participating in the development efforts, +please contact the people listed above. +"; + +page_tail(); + +?>