--- admin/PlamoBuild-template-20170713 2017-07-13 13:07:00.000000000 +0900 +++ plamo/02_x11/Xwindow.txz/llvm/PlamoBuild.llvm-3.7.0 2018-03-07 15:41:33.000000000 +0900 @@ -1,19 +1,22 @@ #!/bin/sh ###################################################################### -url="" +url="http://releases.llvm.org/3.7.0/llvm-3.7.0.src.tar.xz + http://releases.llvm.org/3.7.0/cfe-3.7.0.src.tar.xz + http://releases.llvm.org/3.7.0/compiler-rt-3.7.0.src.tar.xz" verify= digest= branch= commitid= -pkgbase= -vers= +pkgbase=llvm +vers=3.7.0 arch=`uname -m` -build=P1 -src=$pkgbase-$vers +build=P3 +src=$pkgbase-$vers.src patchfiles="" OPT_CONFIG="" -DOCS="README" +DOCS="LLVMBuild.txt CODE_OWNERS.TXT LICENSE.TXT CREDITS.TXT + CMakeLists.txt README.txt" template=20170713 tmplurl=ftp://plamo.linet.gr.jp/pub/Plamo-src/admin ###################################################################### @@ -29,14 +32,24 @@ fscheck prepare "$@" +S2=$W/source if [ $opt_download -eq 1 ] ; then download_sources fi if [ $opt_config -eq 1 ] ; then for i in `seq 0 $((${#B[@]} - 1))` ; do - if [ -d ${B[$i]} ] ; then rm -rf ${B[$i]} ; fi ; cp -a ${S[$i]} ${B[$i]} + if [ -d ${S2[$i]} ] ; then rm -rf ${S2[$i]} ; fi ; cp -a ${S[$i]} ${S2[$i]} + if [ -d ${B[$i]} ] ; then rm -rf ${B[$i]} ; fi ; mkdir ${B[$i]} done apply_patches + cd $S2 + cp -a $W/cfe-$vers.src tools/clang + if [ $arch == i686 -o $arch == x86_64 ] ; then + cp -a $W/compiler-rt-$vers.src projects/compiler-rt + cp -p projects/compiler-rt/make/platform/clang_linux.mk{,.orig} + sed -i '/CompilerTargetArch/s@i386@i686@g' \ + projects/compiler-rt/make/platform/clang_linux.mk + fi for i in `seq 0 $((${#B[@]} - 1))` ; do cd ${B[$i]} if [ -x configure ] ; then @@ -45,6 +58,13 @@ --mandir='${prefix}'/share/man ${OPT_CONFIG[$i]} fi done + cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_LIBDIR_SUFFIX=`[ $arch == x86_64 ] && echo 64` \ + -DBUILD_SHARED_LIBS=ON -DLLVM_ENABLE_TIMESTAMPS=OFF \ + -DLLVM_ENABLE_CXX1Y=ON -DLLVM_ENABLE_LIBCXX=ON \ + -DCMAKE_INSTALL_PREFIX=/usr -DLLVM_BINUTILS_INCDIR=/usr/include \ + -DLLVM_HOST_TRIPLE=$arch-pc-linux-gnu`[ $arch == armv7l ] && echo eabi` \ + -DLLVM_REQUIRES_RTTI=ON -DCLANG_RESOURCE_DIR=../$libdir/clang/$vers $S2 fi if [ $opt_build -eq 1 ] ; then for i in `seq 0 $((${#B[@]} - 1))` ; do @@ -65,16 +85,34 @@ make install DESTDIR=$P fi done + find $P -type f -exec touch {} \; + install -d $P/usr/$libdir/clang-analyzer + cp -r $S2/tools/clang/tools/scan-{build,view} $P/usr/$libdir/clang-analyzer + sbdir=$P/usr/$libdir/clang-analyzer/scan-build + ln -s /usr/bin/clang $sbdir + install -d $mandir/man1 + mv $sbdir/scan-build.1 $mandir/man1 + mv $sbdir/{c++-analyzer,scan-build.bat,ccc-analyzer.bat,sorttable.js} $C + mv $C/{c++-analyzer,scan-build.bat,ccc-analyzer.bat,sorttable.js} $sbdir touch $W/i.et cd $W find $P ! -type l -newer i.st ! -newer i.et \ -exec touch -t `date '+%m%d0900'` {} \; compress + if [ $arch == i686 -o $arch == x86_64 ] ; then + strip_libdir $P/usr/$libdir/clang/3.7.0/lib/linux + touch -t `date '+%m%d0900'` $P/usr/$libdir/clang/3.7.0/lib/linux + fi setup_docdir convert_links + touch -t `date '+%m%d0900'` $sbdir tar cvpf $pkg.tar -C $P `cd $P ; find usr/bin | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/$libdir -maxdepth 1 | tail -n+2` + tar rvpf $pkg.tar -C $P `cd $P ; find usr/include -maxdepth 1 | tail -n+2` + tar rvpf $pkg.tar -C $P usr/share/{clang,llvm} tar rvpf $pkg.tar -C $P `cd $P ; find usr/share/man/man1 | tail -n+2` tar rvpf $pkg.tar -C $P usr/share/doc/$src + tar rvpf $pkg.tar -C $P install/doinst.sh touch -t `date '+%m%d0900'` $pkg.tar ; xz $pkg.tar ; touch $pkg.tar.xz mv $pkg.tar.xz $pkg.txz cleanup