00001 * 00002 /*! 00003 * @file ./dist-bin.sh 00004 * 00005 * @brief Distribute Boot JVM binary package, including documentation. 00006 * 00007 * Make @e sure to have performed the final build by running 00008 * @link ./clean.sh clean.sh all@endlink followed by 00009 * @link ./build.sh build.sh all@endlink. This will guarantee 00010 * that everything compiles clean and may be installed and 00011 * run on all platforms of this CPU type. 00012 * 00013 * Use @link ./dist-src.sh dist-src.sh@endlink to distribute 00014 * the source package. 00015 * 00016 * Use @link ./dist-doc.sh dist-doc.sh@endlink to distribute 00017 * the documentation package. 00018 * 00019 * @see @link ./common.sh ./common.sh@endlink 00020 * 00021 * @attention Make @e sure that all Eclipse project files are in 00022 * the "open" state when creating a distribution. 00023 * This will ensure immediate access to them by 00024 * Eclipse users without having to change anything. 00025 * 00026 * @todo This script should probably support each and every CPU platform 00027 * that implements this code instad of having just a single 00028 * output location for each file. However, that also involves 00029 * changes to @link ./build.sh build.sh@endlink and 00030 * @link ./clean.sh clean.sh@endlink and 00031 * @link ./common.sh common.sh@endlink, as well as 00032 * @link ./config.sh config.sh@endlink. This is left as an 00033 * exercise for the project team. For an example of such a 00034 * multi-host script, consider that the original development was 00035 * done on a Solaris platform. Such distribution should be built 00036 * using @link ./clean.sh ./clean.sh all@endlink followed by 00037 * @link ./build.sh ./build.sh all@endlink and should contain 00038 * all formats of documentation. If no CPU-specific directory 00039 * level were implemented, result should look like the current 00040 * distribution: 00041 * 00042 * <ul> 00043 * 00044 * <li>jvm/bin/bootjvm</li> 00045 * <li>libjvm/lib/libjvm.a</li> 00046 * <li>main/bin/bootjvm</li> 00047 * <li>test/bin/HelloWorld.class</li> 00048 * <li>test/bin/harmony/bootjvm/test/MainArgs.class</li> 00049 * <li>test/bin/harmony/bootjvm/test/PkgHelloWorld.class</li> 00050 * <li>doc/html/...</li> 00051 * <li>doc/latex/...</li> 00052 * <li>doc/rtf/...</li> 00053 * <li>doc/man/man3/...</li> 00054 * <li>doc/xml/...</li> 00055 * </ul> 00056 * 00057 * A CPU-specific directory would use the @b CONFIG_@$OSNAME@$WORDWIDTH 00058 * configuration variable to change the target name to, 00059 * 00060 * <ul> 00061 * <li>jvm/bin/@${CONFIG_@$OSNAME@$WORDWIDTH}/bootjvm</li> 00062 * </ul> 00063 * 00064 * Namely, 00065 * 00066 * <ul> 00067 * <li>jvm/bin/solaris32/bootjvm</li> 00068 * <li>jvm/bin/solaris64/bootjvm</li> 00069 * <li>jvm/bin/linux32/bootjvm</li> 00070 * <li>jvm/bin/linux64/bootjvm</li> 00071 * <li>jvm/bin/windows32/bootjvm</li> 00072 * <li>jvm/bin/windows64/bootjvm</li> 00073 * <li>jvm/bin/linux64/bootjvm</li> 00074 * </ul> 00075 * 00076 * and so forth for the other deliverables. 00077 * 00078 * 00079 * @todo A Windows .BAT version of this script needs to be written 00080 * 00081 * 00082 * @section Control 00083 * 00084 * \$URL: https://svn.apache.org/path/name/dist-bin.sh $ \$Id: dist-bin.sh 0 09/28/2005 dlydick $ 00085 * 00086 * Copyright 2005 The Apache Software Foundation 00087 * or its licensors, as applicable. 00088 * 00089 * Licensed under the Apache License, Version 2.0 ("the License"); 00090 * you may not use this file except in compliance with the License. 00091 * You may obtain a copy of the License at 00092 * 00093 * http://www.apache.org/licenses/LICENSE-2.0 00094 * 00095 * Unless required by applicable law or agreed to in writing, 00096 * software distributed under the License is distributed on an 00097 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 00098 * either express or implied. 00099 * 00100 * See the License for the specific language governing permissions 00101 * and limitations under the License. 00102 * 00103 * @version \$LastChangedRevision: 0 $ 00104 * 00105 * @date \$LastChangedDate: 09/28/2005 $ 00106 * 00107 * @author \$LastChangedBy: dlydick $ 00108 * Original code contributed by Daniel Lydick on 09/28/2005. 00109 * 00110 * @section Reference 00111 * 00112 */ /* 00113 * (Use #! and #/ with dox_filter.sh to fool Doxygen into 00114 * parsing this non-source text file for the documentation set. 00115 * Use the above open comment to force termination of parsing 00116 * since it is not a Doxygen-style 'C' comment.) 00117 * 00118 * 00119 *################################################################## 00120 * 00121 * Script setup. 00122 * 00123 * Suppress attempts to interrupt 00124 *################################################################## 00125 * 00126 * Clean up everything and rebuild it. 00127 * 00128 * Use same target as source distribution for original docs, 00129 * that is, they will _not_ be changed. 00130 * Time stamp all files together 00131 *################################################################## 00132 * 00133 * Done. 00134 * 00135 * 00136 * EOF 00137