Add Windows support and clean up toolchain #10
							
								
								
									
										50
									
								
								build.sh
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								build.sh
									
									
									
									
									
								
							| @@ -14,7 +14,6 @@ WRKDIR="$(pwd)" | ||||
|  | ||||
| # Architecture Settings | ||||
| ARCHS="aarch64 armv7 i686 x86_64" | ||||
| GENERIC="generic-w64-mingw32" | ||||
|  | ||||
| # Default Configuration | ||||
| BUILD_JOBS=0 | ||||
| @@ -78,7 +77,7 @@ cmake_build() | ||||
|     local CMAKE_PARAMETERS="" | ||||
|  | ||||
|     # Clean old build if necessary | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${WINEDIR}/build-${GENERIC} | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${WINEDIR}/build-${SYSTEM_NAME} | ||||
|  | ||||
|     # Additional, target-specific configuration options | ||||
|     case "${SYSTEM_NAME}" in | ||||
| @@ -90,18 +89,20 @@ cmake_build() | ||||
|  | ||||
|         # Build CMake | ||||
|     echo ">>> Building CMAKE ..." | ||||
|     mkdir -p ${CMAKEDIR}/build-${GENERIC} | ||||
|     cd ${CMAKEDIR}/build-${GENERIC} | ||||
|     mkdir -p ${CMAKEDIR}/build-${SYSTEM_NAME} | ||||
|     cd ${CMAKEDIR}/build-${SYSTEM_NAME} | ||||
|     cmake \ | ||||
|         -DCMAKE_BUILD_TYPE=Release \ | ||||
|         -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ | ||||
|         -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ | ||||
|         -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ | ||||
|         -DCMAKE_INSTALL_PREFIX=${BINDIR} \ | ||||
|         -DCMAKE_SYSTEM_NAME=${SYSTEM_NAME} \ | ||||
|         -DCMAKE_USE_OPENSSL=OFF \ | ||||
|         ${CMAKE_PARAMETERS} \ | ||||
|         .. | ||||
|     cmake --build . | ||||
|     cmake --install . | ||||
|     cd ${WRKDIR} | ||||
| } | ||||
|  | ||||
| @@ -124,7 +125,7 @@ llvm_build() | ||||
|     local LLVM_ARCHS=() | ||||
|  | ||||
|     # Clean old build if necessary | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${LLVMDIR}/llvm/build | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${LLVMDIR}/llvm/build-${SYSTEM_NAME} | ||||
|  | ||||
|     # Set supported architectures | ||||
|     for ARCH in ${ARCHS}; do | ||||
| @@ -166,8 +167,8 @@ llvm_build() | ||||
|             ln -sf ../../${UTIL} . | ||||
|         fi | ||||
|     done | ||||
|     mkdir -p ${LLVMDIR}/llvm/build | ||||
|     cd ${LLVMDIR}/llvm/build | ||||
|     mkdir -p ${LLVMDIR}/llvm/build-${SYSTEM_NAME} | ||||
|     cd ${LLVMDIR}/llvm/build-${SYSTEM_NAME} | ||||
|     cmake -G Ninja \ | ||||
|         -DCMAKE_BUILD_TYPE="Release" \ | ||||
|         -DCMAKE_C_COMPILER=clang \ | ||||
| @@ -214,7 +215,7 @@ ninja_build() | ||||
|     local NINJA_PLATFORM="" | ||||
|  | ||||
|     # Clean old build if necessary | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${NINJADIR}/build-${GENERIC} | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${NINJADIR}/build-${SYSTEM_NAME} | ||||
|  | ||||
|     # Additional, target-specific configuration options | ||||
|     case "${SYSTEM_NAME}" in | ||||
| @@ -230,8 +231,8 @@ ninja_build() | ||||
|  | ||||
|     # Build Ninja | ||||
|     echo ">>> Building NINJA ..." | ||||
|     mkdir -p ${NINJADIR}/build-${GENERIC} | ||||
|     cd ${NINJADIR}/build-${GENERIC} | ||||
|     mkdir -p ${NINJADIR}/build-${SYSTEM_NAME} | ||||
|     cd ${NINJADIR}/build-${SYSTEM_NAME} | ||||
|     CXX=${NINJA_CXX_COMPILER} ../configure.py --platform=${NINJA_PLATFORM} | ||||
|     ninja | ||||
|     install ninja ${BINDIR}/bin/ | ||||
| @@ -295,26 +296,28 @@ print_usage() | ||||
| wine_build() | ||||
| { | ||||
|     local CONFIGURE_PARAMETERS="" | ||||
|     local EXTENSION="" | ||||
|  | ||||
|     # Clean old build if necessary | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${WINEDIR}/{build-${GENERIC},build-tools} | ||||
|     [ "${CLEAN_BUILD}" -eq 1 ] && rm -rf ${WINEDIR}/{build-${SYSTEM_NAME},build-tools} | ||||
|  | ||||
|     # Additional, target-specific configuration options | ||||
|     case "${SYSTEM_NAME}" in | ||||
|         Windows) | ||||
|             CONFIGURE_PARAMETERS="${CONFIGURE_PARAMETERS} --host=${SYSTEM_HOST}" | ||||
|             EXTENSION=".exe" | ||||
|             ;; | ||||
|     esac | ||||
|  | ||||
|     # Build Wine (first configuration builds makedep) | ||||
|     echo ">>> Building Wine ..." | ||||
|     mkdir -p ${WINEDIR}/{build-${GENERIC},build-tools} | ||||
|     mkdir -p ${WINEDIR}/{build-${SYSTEM_NAME},build-tools} | ||||
|     cd ${WINEDIR}/build-tools | ||||
|     ../configure \ | ||||
|         --enable-win64 \ | ||||
|         --without-freetype \ | ||||
|         --without-x | ||||
|     cd ${WINEDIR}/build-${GENERIC} | ||||
|     cd ${WINEDIR}/build-${SYSTEM_NAME} | ||||
|     ../configure \ | ||||
|         --enable-tools \ | ||||
|         --enable-win64 \ | ||||
| @@ -324,12 +327,7 @@ wine_build() | ||||
|         ${CONFIGURE_PARAMETERS} | ||||
|     for TOOL in widl wmc wrc; do | ||||
|         make -j20 tools/${TOOL}/all | ||||
| #        cp tools/${TOOL}/${TOOL} ${BINDIR}/bin/ | ||||
| #        for ARCH in ${ARCHS}; do | ||||
| #            if [ ! -e ${BINDIR}/bin/${ARCH}-w64-mingw32-${TOOL} ]; then | ||||
| #                ln -sf ${TOOL} ${BINDIR}/bin/${ARCH}-w64-mingw32-${TOOL} | ||||
| #            fi | ||||
| #        done | ||||
|         cp tools/${TOOL}/${TOOL}${ENTENSION} ${BINDIR}/bin/ | ||||
|     done | ||||
|     cd ${WRKDIR} | ||||
| } | ||||
| @@ -364,8 +362,6 @@ xtchain_build() | ||||
|     echo ">>> Building XTchain tools ..." | ||||
|     mkdir -p ${BINDIR}/bin | ||||
|     mkdir -p ${BINDIR}/lib/xtchain | ||||
|     mkdir -p ${BINDIR}/${GENERIC}/bin | ||||
|     cp ${WRKDIR}/scripts/*-wrapper ${BINDIR}/${GENERIC}/bin | ||||
|     for EXEC in bin2c exetool xtcspecc; do | ||||
|         if [ ! -e ${BINDIR}/bin/${EXEC} ]; then | ||||
|             ${CCOMPILER} ${WRKDIR}/tools/${EXEC}.c -o ${BINDIR}/bin/${EXEC} | ||||
| @@ -429,14 +425,17 @@ fi | ||||
| mkdir -p ${BINDIR} | ||||
| mkdir -p ${SRCDIR} | ||||
|  | ||||
| # Download and build LLVM | ||||
| #llvm_fetch | ||||
| #llvm_build | ||||
| # Build XTChain tools | ||||
| #xtchain_build | ||||
|  | ||||
| # Download and build Wine tools | ||||
| #wine_fetch | ||||
| #wine_build | ||||
|  | ||||
| # Download and build LLVM | ||||
| #llvm_fetch | ||||
| #llvm_build | ||||
|  | ||||
| # Download and build CMake | ||||
| #cmake_fetch | ||||
| #cmake_build | ||||
| @@ -445,9 +444,6 @@ mkdir -p ${SRCDIR} | ||||
| #ninja_fetch | ||||
| #ninja_build | ||||
|  | ||||
| # Build XTChain tools | ||||
| #xtchain_build | ||||
|  | ||||
| # Save XT Toolchain version | ||||
| cd ${WRKDIR} | ||||
| : ${XTCVER:=$(git describe --exact-match --tags 2>/dev/null)} | ||||
|   | ||||
		Referens i nytt ärende
	
	Block a user