User: curvirgo Date: 05/12/11 14:56:01 Added: /ja/www/documents/develop/ jabuild
Log: Buildscript for 2.0 only File Changes: Directory: /ja/www/documents/develop/ ===================================== File [added]: jabuild Url: http://ja.openoffice.org/source/browse/ja/www/documents/develop/jabuild?rev=1.1&content-type=text/vnd.viewcvs-markup Added lines: 422 ---------------- #!/bin/bash # Encoding is UTF-8. (There is no BOM.) [ x${DEBUG} = xTRUE ] && set -x # ================================================== # ããã©ã«ãã®ãã«ãç°å¢è¨å® # ================================================== SRC_ROOT=${SRC_ROOT:-`pwd`} BUILDER_NAME=${BUILDER_NAME:-curvirgo} #VERSION=${VERSION:-`head -n 20 ${SRC_ROOT}/instsetoo_native/util/openoffice.lst | grep 'PACKAGEVERSION' | awk '{print $2}'`} VERSION=${VERSION:-`head -n 20 ${SRC_ROOT}/instsetoo_native/util/openoffice.lst | grep 'PACKAGEVERSION' | awk '{print $2}'`-`grep 'LAST_MINOR' ${SRC_ROOT}/solenv/inc/minor.mk | sed 's/LAST_MINOR=//'`} BUILD_NUMBER=${BUILD_NUMBER:-`grep 'RSCVERSION' ${SRC_ROOT}/solenv/inc/minor.mk | sed 's/RSCVERSION=//'`} LANGUAGES=${LANGUAGES:-"en-US ja"} PREFIX=${PREFIX:-/opt} TEMP_DIR=${TEMP_DIR:-${SRC_ROOT}/temp} PATCH_DIR=${PATCH_DIR:-${SRC_ROOT}/temp/patch/${BUILD_NUMBER}} PKGOUTDIR=${PKGOUTDIR:-${SRC_ROOT}/OOo_Package} JAVA_HOME=${JAVA_HOME:-/usr/java/j2sdk1.4.2_09} ANT_HOME=${ANT_HOME:-/usr/local/apache-ant-1.6.5} VC_DIR=${VC_DIR:-/cygdrive/c/progra~1/micros~1.net} CSC_DIR=${CSC_DIR:-/cygdrive/c/windows/micros~1.net/framew~1/v11~1.432} FRAME_HOME=${FRAME_HOME:-/cygdrive/c/progra~1/micros~1.net/sdk/v1.1} DIRECTX_HOME=${DIRECTX_HOME:-/cygdrive/c/progra~1/micros~1.0sd} WDEVENV_DIR=${WDEVENV_DIR:-/cygdrive/c/progra~1/conver~1} GNUCP=${GNUCP:-cp} GNUPATCH=${GNUPATCH:-/usr/bin/patch} GPC_LOCATE=${GPC_LOCATE:-ftp://ftp.cs.man.ac.uk/pub/toby/gpc} GPC_ARCHIVE=${GPC_ARCHIVE:-gpc231.zip} MOZILLA_VERSION=${MOZILLA_VERSION:-1.7.5} MOZILLA_SOURCE_ARCHIVE=${MOZILLA_SOURCE_ARCHIVE:-mozilla-source-${MOZILLA_VERSION}.tar.gz} MOZILLA_SOURCE_LOCATE=${MOZILLA_SOURCE_LOCATE:-http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla${MOZILLA_VERSION}/source} MOZ_GLIB_ARCHIVE=${MOZ_GLIB_ARCHIVE:-vc71-glib-1.2.10-bin.zip} MOZ_LIBIDL_ARCHIVE=${MOZ_LIBIDL_ARCHIVE:-vc71-libIDL-0.6.8-bin.zip} MOZ_LIBS_LOCATE=${MOZ_LIBS_LOCATE:-ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32} MOZ_WINTOOLS_ARCHIVE=${MOZ_WINTOOLS_ARCHIVE:-wintools.zip} MOZ_WINTOOLS_LOCATE=${MOZ_WINTOOLS_LOCATE:-http://ftp.mozilla.org/pub/mozilla.org/mozilla/source} CONFIG_FLAGS="--with-lang=\"${LANGUAGES}\" --with-dict=ALL --with-images='hicontrast industrial crystal'" BUILD_OPTION=${BUILD_OPTION:-"strip=true"} PACKAGE_FORMAT=${PACKAGE_FORMAT:-"rpm deb portable slackware"} CREATE_SDK=${CREATE_SDK:-Yes} CREATE_SOLVER=${CREATE_SOLVER:-Yes} CREATE_LANGUAGEPACK=${CREATE_LANGUAGEPACK:-Yes} CREATE_URE_PACKAGE=${CREATE_URE_PACKAGE:-Yes} DIVIDE_PACKAGE=${DIVIDE_PACKAGE:-Yes} PARALLEL_BUILD=${PARALLEL_BUILD:-Yes} MAX_JOBS=${MAX_JOBS:-10} CRASHDUMP=${CRASHDUMP:-Yes} WITH_HTML=${WITH_HTML:-Yes} ENABLE_MOZILLA=${ENABLE_MOZILLA:-Yes} ORIGINALPATCH=${ORIGINALPATCH:-Yes} MERGE_LOCALIZE_DATA=${MERGE_LOCALIZE_DATA:-Yes} REPLACE_SPLASH=${REPLACE_SPLASH:-No} REPLACE_VENDOR_NAME=${REPLACE_VENDOR_NAME:-Yes} RPM_DIR=${RPM_DIR:-RPMS} DEB_DIR=${DEB_DIR:-DEBS} PORTABLE_DIR=${PORTABLE_DIR:-linux-2.4-intel} # ================================================== # jabuild.functionããã³ã«ã¹ã¿ãã¤ãºè¨å®å¤ã®ãã¼ã # ================================================== if [ -f ./jabuild.function ]; then . ./jabuild.function else echo "jabuild.function not found !!" exit fi [ -f ./ooobuild.conf ] && . ./ooobuild.conf export JAVA_HOME ANT_HOME # ================================================== # ãã«ããã©ãããã¼ã ã®æ¤åº # ================================================== OOO_BUILD_SYSTEM=`GetPlatform` if [ x${OOO_BUILD_SYSTEM} = xNotSupported ]; then PrintMessage "Operating system/CPU not supported yet." exit else PrintMessage "Building platform : ${OOO_BUILD_SYSTEM}" fi # ================================================== # ãã«ããã©ãããã¼ã å¥ã®è¨å® # ================================================== case ${OOO_BUILD_SYSTEM} in LinuxIntel) GCC_VER=`gcc -v 2>&1 | tail -n 1 | awk '{print $3}' | sed 's/\.//g'` if [ ${GCC_VER} -ge 340 ] ; then OOOUTPATH=unxlngi6 # gcc 3.4 else OOOUTPATH=unxlngi4 # gcc 3.3 fiLanguagePack # CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --enable-gcc3 --enable-gtk --enable-kde --enable-cups --enable-fontconfig --enable-libart --with-system-freetype --enable-openldap --enable-libsn -enable-pam-link --enable-xrender-link --with-system-xrender-headers" CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --enable-gcc3 --enable-gtk --enable-kde --enable-cups --enable-fontconfig --enable-libart --enable-openldap --enable-libsn -enable-pam-link --enable-xrender-link" DEFAULT_PACKAGE=`GetDefaultPackage` CONFIG_FLAGS="${CONFIG_FLAGS} --with-package-format=${DEFAULT_PACKAGE}" ;; LinuxPPC) OOOUTPATH=unxlngppc CONFIG_FLAGS="${CONFIG_FLAGS} --enable-gtk --enable-kde --prefix=${PREFIX} --enable-gcc3" ;; LinuxAMD) OOOUTPATH=unxlngx4 CONFIG_FLAGS="${CONFIG_FLAGS} --enable-gtk --enable-kde --prefix=${PREFIX} --enable-gcc3" ;; SolarisSparc) OOOUTPATH=unxsols4 CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; SolarisIntel) OOOUTPATH=unxsoli4 CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; SolarisSparcGcc) OOOUTPATH=unxsogs CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; SolarisIntelGcc) OOOUTPATH=unxsogi CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; Win32Intel) CL_VER=`cl 2>&1 | head -n 1 | sed -e 's/(R)//' -e 's/\.//g' | awk '{print $7}'` if [ ${CL_VER} -ge 13103000 ] ; then OOOUTPATH=wntmsci10 # VC 2003 else OOOUTPATH=wntmsci8 # VC 2002 fi CONFIG_FLAGS="${CONFIG_FLAGS} --with-use-shell=tcsh" [ -d ${VC_DIR} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-cl-home=${VC_DIR}" [ -d ${WDEVENV_DIR} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-wdevenv-path=${WDEVENV_DIR}" [ -d ${FRAME_HOME} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-frame-home=${FRAME_HOME}" [ -d ${CSC_DIR} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-csc-path=${CSC_DIR}" if [ -d ${DIRECTX_HOME} ]; then CONFIG_FLAGS="${CONFIG_FLAGS} --with-directx-home=${DIRECTX_HOME}" else CONFIG_FLAGS="${CONFIG_FLAGS} -disable-directx" fi ;; *) ;; esac [ -d ${JAVA_HOME} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-jdk-home=${JAVA_HOME}" [ -d ${ANT_HOME} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-ant-home=${ANT_HOME}" [ x${CRASHDUMP} = xYes ] && CONFIG_FLAGS="${CONFIG_FLAGS} --enable-crashdump --enable-symbols=SMALL" # ================================================= # 䏿ãã£ã¬ã¯ããªã®ä½æ # ================================================= CreateDirectory ${TEMP_DIR} "Creating temporary directory" # ================================================= # ããã±ã¼ã¸ä¿åå ãã£ã¬ã¯ããªã®ä½æ # ================================================= CreateDirectory ${PKGOUTDIR} "Creating Package Out directory" # ================================================= # GPCã®ãã¦ã³ãã¼ãã¨å±é # ================================================= [ -f ${SRC_ROOT}/external/gpc/gpc.c -a -f ${SRC_ROOT}/external/gpc/gpc.h ] || { PrintMessage "Download, unpack and copying GPC" DownloadFile ${GPC_LOCATE} ${GPC_ARCHIVE} unzip -o -d ${TEMP_DIR} ${TEMP_DIR}/${GPC_ARCHIVE} mv ${TEMP_DIR}/gpc231/* ${SRC_ROOT}/external/gpc/ rmdir ${TEMP_DIR}/gpc231 } # ================================================= # Mozillaã½ã¼ã¹ãªã©ã®ãã¦ã³ãã¼ãã¨æå®ä½ç½®ã¸ã®ã³ãã¼ãããã³CONFIG_FLAGSã®è¨å® # ================================================= if [ x${ENABLE_MOZILLA} = xYes ]; then PrintMessage "Download mozilla source file" DownloadFile ${MOZILLA_SOURCE_LOCATE} ${MOZILLA_SOURCE_ARCHIVE} ${GNUCP} -v ${TEMP_DIR}/${MOZILLA_SOURCE_ARCHIVE} ${SRC_ROOT}/moz/download [ x${OOO_BUILD_SYSTEM} = xWin32Intel ] && { DownloadFile ${MOZ_LIBS_LOCATE} ${MOZ_GLIB_ARCHIVE} DownloadFile ${MOZ_LIBS_LOCATE} ${MOZ_LIBIDL_ARCHIVE} DownloadFile ${MOZ_WINTOOLS_LOCATE} ${MOZ_WINTOOLS_ARCHIVE} ${GNUCP} -v ${TEMP_DIR}/${MOZ_GLIB_ARCHIVE} ${SRC_ROOT}/moz/download ${GNUCP} -v ${TEMP_DIR}/${MOZ_LIBIDL_ARCHIVE} ${SRC_ROOT}/moz/download ${GNUCP} -v ${TEMP_DIR}/${MOZ_WINTOOLS_ARCHIVE} ${SRC_ROOT}/moz/download } CONFIG_FLAGS="${CONFIG_FLAGS} --enable-mozilla --enable-build-mozilla --with-mozilla-version=${MOZILLA_VERSION}" else CONFIG_FLAGS="${CONFIG_FLAGS} --disable-mozilla" fi # ================================================= # Windowsä¸ã§ã®å®è¡æã«å¿ è¦ã¨ãªãDLLã®æå®ä½ç½®ã¸ã®ã³ãã¼(Visual C++ã¤ã³ã¹ãã¼ã«å ãã³ãã³ããµã¼ããã¹ã«ç»é²ããã¦ããå¿ è¦æã) # ================================================= [ x${OOO_BUILD_SYSTEM} = xWin32Intel ] && { VCP71DIR=${SRC_ROOT}/external/msvcp71 PrintMessage "Copying required Dynamic link libralies" CreatePackage InstallSet install -v -m755 ${TEMP_DIR}/unicows/* ${SRC_ROOT}/external/unicows install -v -m755 `which dbghelp.dll` ${SRC_ROOT}/external/dbghelp install -v -m755 `which msvcp70.dll` ${SRC_ROOT}/external/msvcp70 install -v -m755 `which msvcr70.dll` ${SRC_ROOT}/external/msvcp70 CreateDirectory ${VCP71DIR} install -v -m755 `which msvcp71.dll` ${VCP71DIR} install -v -m755 `which msvcr71.dll` ${VCP71DIR} } # ================================================== # åå½èªç¨Wordbookãåå¨ããªãå ´åã«ã代æ¿ã¨ãã¦è±èªç¨ãã¡ã¤ã«ãåå½èªç¨ã®ãã£ã¬ã¯ããªã«ã³ãã¼ãã # For the detail, see issue #10718 # ================================================== PrintMessage "Fixed Japanese original issues" cd ${SRC_ROOT}/extras/source/wordbook/lang &> /dev/null && { for LNG in ${LANGUAGES} do [ -d ${LNG} ] || { mkdir -p ${LNG} ${GNUCP} -fv en-US/soffice.dic ${LNG} } done cd ${SRC_ROOT} } # ================================================== # [EMAIL PROTECTED] # ================================================== [ x${REPLACE_VENDOR_NAME} = xYes ] && { PrintMessage "Replace Vendor name" cd svx/source/intro &> /dev/null && { [ -e makefile.mk.original ] || { ${GNUCP} makefile.mk makefile.mk.original cat makefile.mk.original | eval sed 's/\$\(USER\)\$\(USERNAME\)/${BUILDER_NAME}/' > makefile.mk } cd ${SRC_ROOT} } } # ================================================== # ã¹ãã©ãã·ã¥ã¤ã¡ã¼ã¸ã®ç½®æ # ================================================== [ x${REPLACE_SPLASH} = xYes ] && { PrintMessage "Replace splash images" ${GNUCP} -fv ${TEMP_DIR}/bmp/*.bmp ${SRC_ROOT}/svx/res ${GNUCP} -fv ${TEMP_DIR}/bmp/*.png ${SRC_ROOT}/svx/res ${GNUCP} -fv ${TEMP_DIR}/bmp/*.png ${SRC_ROOT}/svx/source/intro ${GNUCP} -fv ${TEMP_DIR}/bmp/openintro.bmp ${SRC_ROOT}/svx/res/ooointro.bmp ${GNUCP} -fv ${TEMP_DIR}/bmp/*.png ${SRC_ROOT}/default_images/svx/res } # ================================================== # CCACHEã使ç¨ãã¦ãã«ãããããã«ç°å¢å¤æ°ã¸è¨å® # ================================================== [ x${OOO_BUILD_SYSTEM} != xWin32Intel ] && { [ x`which ccache` = x ] || { if [ ${OOO_BUILD_SYSTEM} = SolarisSparc -o ${OOO_BUILD_SYSTEM} = SolarisIntel ]; then export CC="ccache cc" export CXX="CC" else export CC="ccache gcc" export CXX="ccache g++" fi } } # ================================================== # ãã§ã«patchãã¡ã¤ã«ãé©ç¨æ¸ã¿ã確èªããæªé©ç¨ã®å ´åã¯ApplyPatchãã¡ã³ã¯ã·ã§ã³ãã³ã¼ã«ãã # ã¾ããpatché©ç¨ãããã¡ã¤ã«ã®ã¿å¾ããåé¤ã§ããããã«åé¤ç¨ã®ã¹ã¯ãªãããã¡ã¤ã«ã使ãã # ================================================== [ x${ORIGINALPATCH} = xYes ] && { [ -e ${SRC_ROOT}/patch.log ] || { PrintMessage "Patching original patches" [ -e ${PATCH_DIR} ] && ApplyPatch ${PATCH_DIR} [ -e ${PATCH_DIR}/${OOO_BUILD_SYSTEM} ] && ApplyPatch ${PATCH_DIR}/${OOO_BUILD_SYSTEM} echo '#!/bin/bash' > ${SRC_ROOT}/remove_patched_file.sh grep -i "patching file" ${SRC_ROOT}/patch.log | sed -e 's/patching file /rm -fv /' >> ${SRC_ROOT}/remove_patched_file.sh chmod 755 ${SRC_ROOT}/remove_patched_file.sh } } # ================================================== # configure # ================================================== Configure "${CONFIG_FLAGS}" # ================================================== # ãã«ãç°å¢è¨å®ã¹ã¯ãªããã®ãã¼ã # ================================================== LoadBuildEnvironment # ================================================== # 忣ãã«ããã¼ã«dmakeã®ãã«ã # ================================================== if [ -f ./bootstrap ]; then PrintMessage "Bootstrapping." ./bootstrap || { PrintMessage "Bootstrap failed. Fix it!" exit } else PrintMessage "Configure failed. Fix it!" exit fi # ================================================== # ãã¼ã«ã©ã¤ãºãã¼ã¿ç¨ãã¼ã«ã®ãã«ãã¨ãªãªã¸ãã«ãã¼ã«ã©ã¤ãºãã¼ã¿ã®ç»é² # ================================================== [ x${MERGE_LOCALIZE_DATA} = xYes ] && { PrintMessage "Prepare localize tools." BuildProject transex3 "--all ${BUILD_OPTION}" PrintMessage "Merging localize data." for GSI in `echo ${TEMP_DIR}/sdf/*.sdf | sed '/\*/d'` do for LNG in ${LANGUAGES} do localize -m -x -l ${LNG} -f ${GSI} done done } # ================================================== # LinuxIntel : è¤æ°ã®ããã±ã¼ã¸ã使ããå ´åã«ãããã©ã«ã以å¤ã®ã¡ãã¥ã¼ç»é²ç¨ããã±ã¼ã¸ã¯ä½æãããªãçºããã以å¤ã®ã¡ãã¥ã¼ç»é²ç¨ããã±ã¼ã¸ãåãã£ã¦ä½æãã # ================================================== [ x${OOO_BUILD_SYSTEM} = xLinuxIntel ] && { MENU_CONFIG="${CONFIG_FLAGS}" PrintMessage "Prepare menus package." for PKG in ${PACKAGE_FORMAT} do case ${PKG} in ${DEFAULT_PACKAGE}) ;; portable) ;; slackware) ;; *) MENU_CONFIG=`echo "${CONFIG_FLAGS}" | eval sed 's/--with-package-format=${DEFAULT_PACKAGE}/-with-package-format=${PKG}/'` Configure "${MENU_CONFIG}" LoadBuildEnvironment BuildProject sysui "--all ${BUILD_OPTION}" ;; esac done [ "${CONFIG_FLAGS}" = "${MENU_CONFIG}" ] || { Configure "${CONFIG_FLAGS}" LoadBuildEnvironment } } # ================================================== # ãã«ãããã»ã¹ã®éå§ # ================================================== BLD_OPTION="--all product=full" MESSAGE="Serial Building ..." PrintMessage "Start build process." [ x${WITH_HTML} = xYes ] && BLD_OPTION="${BLD_OPTION} --html" case ${OOO_BUILD_SYSTEM} in LinuxIntel) ParallelSetting [ $? = 0 ] && MESSAGE="Parallel Building ..." ;; Win32Intel) ;; *) ParallelSetting [ $? = 0 ] && MESSAGE="Parallel Building ..." ;; esac PrintMessage "${MESSAGE}" BuildProject instsetoo_native/util "${BLD_OPTION} ${BUILD_OPTION}" # ================================================== # SDK ããã±ã¼ã¸ã®ä½æ # ================================================== [ x${CREATE_SDK} = xYes ] && { for LANG in ${LANGUAGES} do PackageSDK ${LANG} done } # ================================================== # SOLVER ããã±ã¼ã¸ã®ä½æ # ================================================== [ x${CREATE_SOLVER} = xYes ] && PackageSolver # ================================================== # UnoRuntime Environment ããã±ã¼ã¸ã®ä½æ # ================================================== [ x${CREATE_URE_PACKAGE} = xYes ] && PackageURE # ================================================== # ã¤ã³ã¹ãã¼ã«ã»ããã®ä½æ # ================================================== if [ x${OOO_BUILD_SYSTEM} = xLinuxIntel ]; then for PKG in ${PACKAGE_FORMAT} do CreatePackage InstallSet ${PKG} [ x${CREATE_LANGUAGEPACK} = xYes ] && CreatePackage LanguagePack ${PKG} done else CreatePackage InstallSet [ x${CREATE_LANGUAGEPACK} = xYes ] && CreatePackage LanguagePack fi # ================================================== # ã¤ã³ã¹ãã¼ã«ã»ããã®åå² (SourceForge.jpã¢ãããã¼ãç¨) # ================================================== [ x${OOO_BUILD_SYSTEM} = xLinuxIntel -a x${DIVIDE_PACKAGE} = xYes ] && { for LANG in ${LANGUAGES} do for PACKAGE in ${PACKAGE_FORMAT} do DividePackage ${LANG} ${PACKAGE} done done } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
