xubingyue / softart

Automatically exported from code.google.com/p/softart
Other
0 stars 0 forks source link

Add python ALL-IN-ONE build scripts. #108

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Description:
  Build all 3rd-party libraries and SALVIA in one click.

Original issue reported on code.google.com by wuye9036 on 18 Sep 2011 at 2:14

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
This issue was updated by revision 5937a4f7b5b3.

SALVIA:
  Add all-in-one build script.
  Support boost build.

Original comment by wuye9036 on 18 Sep 2011 at 12:43

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 53ab98f88f65.

SALVIA:
  Add cmake to build configuration.

Original comment by wuye9036 on 18 Sep 2011 at 12:43

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
SALVIA的第三方依赖包括:

LLVM, FreeImage, GDI+(Win32), WTL(Win32), boost, threadpool

需要编译的有LLVM和boost

build_all的需求有:

1. 根据当前平台编译bjam(Done)
2. 根据目标平台编译boost,并记录library和include的路径
3. 调用CMake并使用正确的命令行参数配置LLVM
4. 使用LLVM生成Solution
5. Windows+Visual studio平台下调用devenv编译solution生成binary文件
6. 
将生成出的头文件、原有头文件和库文件拷贝到正确的目录��
�。
7. 调用CMake配置SALVIA并生成工程
8. 使用devenv生成binary文件。

Original comment by wuye9036 on 17 Nov 2011 at 7:11

GoogleCodeExporter commented 8 years ago
目录说明:

${HOME}     SALVIA源代码的根目录。该目录下应该包含README
${BUILD}    CMake配置的中间目录。
${BIN}      最终二进制文件的生成目录

${PLATFORM} 目标平台名称。包括win32,x64(win32 64bit)等。
${COMPILER} 编译器名称。格式为短名+版本号。
                短名表:
                    msvc    Microsoft Visual C++
                    mgw     MinGW C++
                    icc     Intel C++
                    gcc     GCC c++ compiler
            版本号由主版本号,次版本号和修订号构成。
            对于MSVC 2005以上仅使用主版本号。
            Intel C++不显示修订号。
            如果修订号为0,则不显示修订号。
            例:
                MSVC 2005   --> msvc8
                MSVC 2010   --> msvc10
                Mingw 4.5.1 --> mgw451
${CONFIG}   配置选项。CMAKE支持DEBUG/RELEASE/RELWITHDEBINFO/RELMINSIZE四��
�。

${HOME}
    3rd_party
        src         : 第三方源代码
            llvm    : LLVM源码
        wtl         : WTL源码
        threadpool  : Thead Pool 源码
        llvm        : 预编译LLVM库
            config  : LLVM 配置头文件
                ${PLATFORM}_{COMPILER}
                    llvm    : 包含LLVM的CMake生成的Config和System文件夹
            inlcude : LLVM头文件。直接从LLVM源代码中拷贝即可。
            lib
                ${PLATFORM}_{COMPILER}_${CONFIG}    : LLVM编译后生成的library
            toolchains
                ${PLATFORM} : LLVM编译生成的工具链。包括llc,lli等可执行文件

Original comment by wuye9036 on 17 Nov 2011 at 9:19

GoogleCodeExporter commented 8 years ago
${HOME}
    bin
        resource    : 资源文件
        ${PLATFORM}
            ${CONFIG}       : 最终生成的二进制文件。

Original comment by wuye9036 on 17 Nov 2011 at 10:20

GoogleCodeExporter commented 8 years ago
编译说明:

Boost的编译:
    * 从build_conf中获取boost路径至${BOOST}。
    * 根据boost路径编译生成bjam至 ${BOOST}/bjam.exe。
    * 使用bjam编译库,并stage至 ${BOOST}/${PLATFORM} 中。
    * ${BOOST_LIB_DIRECTORY} = ${BOOST}/${PLATFORM}/lib

LLVM的编译:
    * LLVM源代码路径为 ${HOME}/3rd_party/src/llvm。我们称为${LLVM}
    * LLVM的安装路径为 ${HOME}/3rd_party/llvm。我们称之为${LLVM_INSTALL}
    * LLVM的编译目录为 ${BUILD}/llvm/${PLATFORM}_${COMPILER}。我们称为${LLVM_BUILD}

    * 使用CMake配置并生成Solution。设置LLVM_BOOST_STDINT为True,设置LLVM_BOOST_DIR为${BOOST}
    * 编译LLVM。
    * 拷贝 ${LLVM_BUILD}/include/llvm 下的 Config 和 Support 文件夹至 ${LLVM_INSTALL}/config/${PLATFORM}_{COMPILER}/llvm 文件夹下。
    * 拷贝 ${LLVM}/include 至 ${HOME}/3rd_party/llvm下覆盖include文件夹。
    * 拷贝 ${LLVM_BUILD}/lib/${CONFIG} 下所有库文件和符号文件至 ${LLVM_INSTALL}/lib/${PLATFORM}_{COMPILER}_${CONFIG}
    * 拷贝 ${LLVM_BUILD}/bin/${CONFIG} 下所有可执行程序至 ${LLVM_INSTALL}/toolchains/${PLATFORM}_{COMPILER}_${CONFIG}

SALVIA的编译:
    * SALVIA的编译目录为 ${BUILD}/salvia/${PLATFORM}_${COMPILER}
    * 使用CMake配置并生成Solution。设置SALVIA_BOOST_DIRECTORY为${BOOST}
    * 编译SALVIA
    * 拷贝Boost dynamic libraries和LLVM dynamic libraries至bin目录(暂时不需要做)

Original comment by wuye9036 on 17 Nov 2011 at 10:20

GoogleCodeExporter commented 8 years ago
Supplement:
LLVM的编译:
  * 拷贝 ${LLVM_BUILD}/include/llvm/intrinsics.gen 至 ${LLVM_INSTALL}/config/${PLATFORM}_{COMPILER}/llvm 文件夹下。

Original comment by wuye9036 on 20 Nov 2011 at 9:29

GoogleCodeExporter commented 8 years ago

Original comment by wuye9036 on 22 Nov 2011 at 12:41

GoogleCodeExporter commented 8 years ago

Original comment by wuye9036 on 11 Dec 2011 at 2:03

GoogleCodeExporter commented 8 years ago

Original comment by wuye9036 on 14 Dec 2011 at 9:02

GoogleCodeExporter commented 8 years ago
I'll handle this one.

Original comment by wuye9036 on 15 Dec 2011 at 3:18

GoogleCodeExporter commented 8 years ago
I'll handle this one.

Original comment by wuye9036 on 15 Dec 2011 at 3:18

GoogleCodeExporter commented 8 years ago

Original comment by wuye9036 on 15 Dec 2011 at 3:18

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 214abcf7d333.

SALVIA:
  Rename build_conf.py to build_conf.tmpl
  Add llvm configuration to build_all.py.

Original comment by wuye9036 on 20 Dec 2011 at 1:52

GoogleCodeExporter commented 8 years ago

Original comment by wuye9036 on 22 Dec 2011 at 3:29

GoogleCodeExporter commented 8 years ago
This issue was updated by revision ffba256b3cd0.

SASL:
  Rename build_scripts to blibs(build libs)
  Add batch command to generate executable script.
  Add code for build llvm generated solution.

Original comment by wuye9036 on 24 Dec 2011 at 1:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 94c7429a002e.

SALVIA:
  Move some utility functions to blibs.
  LLVM build and install works.
  Start working on SALVIA build and install.

Original comment by wuye9036 on 24 Dec 2011 at 1:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 2b82c6d940b7.

SALVIA:
  SALVIA is built by build script successful!

Original comment by wuye9036 on 24 Dec 2011 at 1:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 23769a95c1ff.

SALVIA:
  Add copy_newer implementation.
  Add short_compiler_name and boost_lib_name to toolset.
  Finished build_all.py.

Original comment by wuye9036 on 24 Dec 2011 at 1:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 5e1913b79e2a.

SALVIA:
  Add missing dependencies.
  Enable seperated tests.

Original comment by wuye9036 on 24 Dec 2011 at 1:52

GoogleCodeExporter commented 8 years ago
This issue was updated by revision cb8e48ceb7e2.

SASL:
  Move build document from readme to doc.

Original comment by wuye9036 on 26 Dec 2011 at 3:42

GoogleCodeExporter commented 8 years ago
This issue was updated by revision f817577419f1.

SALVIA:
  Update build document.

Original comment by wuye9036 on 26 Dec 2011 at 3:42

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 9df4459da313.

SALVIA:
  Remove old llvm install directory.

Original comment by wuye9036 on 26 Dec 2011 at 3:42

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 83f854a886b6.

SALVIA:
  Move llvm source code from 3rd_party/src to 3rd_party.

Original comment by wuye9036 on 26 Dec 2011 at 3:42

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 704d52720c8c.

SASL:
  Refactor build script.

Original comment by wuye9036 on 26 Dec 2011 at 3:42

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 34c47cf3998c.

SALVIA:
  Now SALVIA will use platform-compiler-configuration independent prebuilt LLVM.
  Unified platform name used in build script and cmake file.

Original comment by wuye9036 on 26 Dec 2011 at 3:42

GoogleCodeExporter commented 8 years ago
This issue was updated by revision ea48b14baf88.

SALVIA:
  Fixes bugs of build script.

Original comment by wuye9036 on 26 Dec 2011 at 3:42

GoogleCodeExporter commented 8 years ago

Original comment by wuye9036 on 26 Dec 2011 at 4:48

GoogleCodeExporter commented 8 years ago
This issue was updated by revision 6124ab2f81bc.

SALVIA:
  Add VC Express support to build script.

Original comment by wuye9036 on 26 Dec 2011 at 10:54