def downloadToolChain (TOOL_CHAIN): #--------------------------------------------------------------------------- Get URL url = "http://crossgcc.rts-software.org/downloads/galgas-tools-for-cross-compilation/" + TOOL_CHAIN + ".tar.bz2" print "*** TOOL CHAIN IS NOT INSTALLED" print "Tool chain URL: " + url #--------------------------------------------------------------------------- Get installation directory installDir = tool_chain_installation_path.toolChainInstallationPath () print "Intallation directory: " + installDir LOCAL_ARCHIVE = installDir + "/" + TOOL_CHAIN + ".tar.bz2" runCommand (["mkdir", "-p", installDir]) #--------------------------------------------------------------------------- Save current dir and change it currentDir = os.getcwd () os.chdir (installDir) print "+ cd " + installDir #--------------------------------------------------------------------------- Download runCommand (["rm", "-f", TOOL_CHAIN + ".tar.bz2.downloading"]) runCommand (["rm", "-f", TOOL_CHAIN + ".tar.bz2"]) runCommand (["rm", "-f", TOOL_CHAIN + ".tar"]) downloadArchive (url, LOCAL_ARCHIVE) #--------------------------------------------------------------------------- Unzip runCommand (["bunzip2", TOOL_CHAIN + ".tar.bz2"]) runCommand (["tar", "xf", TOOL_CHAIN + ".tar"]) runCommand (["rm", TOOL_CHAIN + ".tar"]) #--------------------------------------------------------------------------- Restore current dir os.chdir (currentDir) print "+ cd " + currentDir #--------------------------------------------------------------------------- Done print "*** DONE."
def buildForWin32OnMacOSX(dictionary, jsonFilePath, EXECUTABLE, GOAL, maxParallelJobs, displayCommands): #--- Too chain installation GCC_VERSION = "7.2.0" BINUTILS_VERSION = "2.28" TOOL_CHAIN_NAME = "binutils-" + BINUTILS_VERSION + "-gcc-" + GCC_VERSION + "-for-mingw32" installDir = tool_chain_installation_path.toolChainInstallationPath() TOOL_CHAIN_INSTALL_PATH = installDir + "/" + TOOL_CHAIN_NAME if not os.path.exists(TOOL_CHAIN_INSTALL_PATH): cross_compiler_download.downloadToolChain(TOOL_CHAIN_NAME) #--- gmf = generic_galgas_makefile.GenericGalgasMakefile() gmf.mJSONfilePath = jsonFilePath gmf.mDictionary = dictionary gmf.mExecutable = EXECUTABLE gmf.mGoal = GOAL gmf.mMaxParallelJobs = maxParallelJobs gmf.mDisplayCommands = displayCommands gmf.mTargetName = "win32" gmf.mLinkerOptions = ["-lws2_32", "-lComdlg32"] gmf.mExecutableSuffix = ".exe" #--- gmf.mCompilerTool = [ TOOL_CHAIN_INSTALL_PATH + "/bin/i586-mingw32-gcc", "-m32", "-D_WIN32_WINNT=0x501" ] gmf.mLinkerTool = [ TOOL_CHAIN_INSTALL_PATH + "/bin/i586-mingw32-g++", "-m32", "--enable-auto-import", "-Wl,--gc-sections" ] gmf.mStripTool = [ TOOL_CHAIN_INSTALL_PATH + "/bin/i586-mingw32-strip", "--strip-all" ] gmf.mCompilationMessage = "Compiling for Win32" gmf.mLinkingMessage = "Linking for Win32" gmf.mStripMessage = "Stripping" #--- Options for all compilers gmf.mAllCompilerOptions = default_build_options.allCompilerOptions( ["-Wconversion"]) #--- Options for release mode gmf.mCompilerReleaseOptions = default_build_options.compilerReleaseOptions( ["-O2"]) #--- Options for debug mode gmf.mCompilerDebugOptions = default_build_options.compilerDebugOptions([]) #--- Options for C compiling (.c extension) gmf.m_C_CompilerOptions = default_build_options.C_CompilerOptions([]) #--- Options for C++ compiling (.cpp extension) gmf.m_Cpp_CompilerOptions = default_build_options.Cpp_CompilerOptions( ["-Weffc++", "-Wsign-promo"]) #--- Options for Objective-C compiling (.m extension) gmf.m_ObjectiveC_CompilerOptions = default_build_options.ObjectiveC_CompilerOptions( []) #--- Options for Objective-C++ compiling (.mm extension) gmf.m_ObjectiveCpp_CompilerOptions = default_build_options.ObjectiveCpp_CompilerOptions( []) #--- Library to use for gmp gmf.mCrossCompilation = "win32" #--- Run makefile gmf.run()
def buildForLinux64OnMacOSX(dictionary, jsonFilePath, EXECUTABLE, GOAL, maxParallelJobs, displayCommands): #--- Too chain installation GCC_VERSION = "10.2.0" BINUTILS_VERSION = "2.35.1" TOOL_CHAIN_NAME = "binutils-" + BINUTILS_VERSION + "-gcc-" + GCC_VERSION + "-for-linux64" installDir = tool_chain_installation_path.toolChainInstallationPath() TOOL_CHAIN_INSTALL_PATH = installDir + "/" + TOOL_CHAIN_NAME if not os.path.exists(TOOL_CHAIN_INSTALL_PATH): cross_compiler_download.downloadToolChain(TOOL_CHAIN_NAME) #--- gmf = generic_galgas_makefile.GenericGalgasMakefile() gmf.mJSONfilePath = jsonFilePath gmf.mDictionary = dictionary gmf.mExecutable = EXECUTABLE gmf.mGoal = GOAL gmf.mMaxParallelJobs = maxParallelJobs gmf.mDisplayCommands = displayCommands gmf.mTargetName = "x86linux64" #--- UNIX_TOOL_PREFIX = TOOL_CHAIN_INSTALL_PATH + "/bin/x86_64-pc-linux" gmf.mCompilerTool = [UNIX_TOOL_PREFIX + "-gcc"] gmf.mLinkerTool = [ UNIX_TOOL_PREFIX + "-g++", "-static-libgcc", "-Wl,--gc-sections" ] gmf.mStripTool = [UNIX_TOOL_PREFIX + "-strip", "--strip-all"] gmf.mCompilationMessage = "Compiling for Linux64" gmf.mLinkingMessage = "Linking for Linux64" gmf.mStripMessage = "Stripping" gmf.mCrossCompilation = "Linux-x86_64" #--- Options for all compilers gmf.mAllCompilerOptions = default_build_options.allCompilerOptions( ["-Wconversion"]) #--- Options for release mode gmf.mCompilerReleaseOptions = default_build_options.compilerReleaseOptions( ["-O2"]) #--- Options for debug mode gmf.mCompilerDebugOptions = default_build_options.compilerDebugOptions([]) #--- Options for C compiling (.c extension) gmf.m_C_CompilerOptions = default_build_options.C_CompilerOptions([]) #--- Options for C++ compiling (.cpp extension) gmf.m_Cpp_CompilerOptions = default_build_options.Cpp_CompilerOptions( ["-Weffc++", "-Wsign-promo"]) #--- Options for Objective-C compiling (.m extension) gmf.m_ObjectiveC_CompilerOptions = default_build_options.ObjectiveC_CompilerOptions( []) #--- Options for Objective-C++ compiling (.mm extension) gmf.m_ObjectiveCpp_CompilerOptions = default_build_options.ObjectiveCpp_CompilerOptions( []) #--- Run makefile gmf.run()
def buildForWin32OnMacOSX (dictionary, jsonFilePath, EXECUTABLE, GOAL, maxParallelJobs, displayCommands) : #--- Too chain installation GCC_VERSION = "7.2.0" BINUTILS_VERSION = "2.28" TOOL_CHAIN_NAME = "binutils-" + BINUTILS_VERSION + "-gcc-" + GCC_VERSION + "-for-mingw32" installDir = tool_chain_installation_path.toolChainInstallationPath () TOOL_CHAIN_INSTALL_PATH = installDir + "/" + TOOL_CHAIN_NAME if not os.path.exists (TOOL_CHAIN_INSTALL_PATH): cross_compiler_download.downloadToolChain (TOOL_CHAIN_NAME) #--- gmf = generic_galgas_makefile.GenericGalgasMakefile () gmf.mJSONfilePath = jsonFilePath gmf.mDictionary = dictionary gmf.mExecutable = EXECUTABLE gmf.mGoal = GOAL gmf.mMaxParallelJobs = maxParallelJobs gmf.mDisplayCommands = displayCommands gmf.mTargetName = "win32" gmf.mLinkerOptions = ["-lws2_32", "-lComdlg32"] gmf.mExecutableSuffix = ".exe" #--- gmf.mCompilerTool = [TOOL_CHAIN_INSTALL_PATH + "/bin/i586-mingw32-gcc", "-m32", "-D_WIN32_WINNT=0x501"] gmf.mLinkerTool = [TOOL_CHAIN_INSTALL_PATH + "/bin/i586-mingw32-g++", "-m32", "--enable-auto-import", "-Wl,--gc-sections"] gmf.mStripTool = [TOOL_CHAIN_INSTALL_PATH + "/bin/i586-mingw32-strip", "--strip-all"] gmf.mCompilationMessage = "Compiling for Win32" gmf.mLinkingMessage = "Linking for Win32" gmf.mStripMessage = "Stripping" #--- Options for all compilers gmf.mAllCompilerOptions = default_build_options.allCompilerOptions (["-Wconversion"]) #--- Options for release mode gmf.mCompilerReleaseOptions = default_build_options.compilerReleaseOptions (["-O2"]) #--- Options for debug mode gmf.mCompilerDebugOptions = default_build_options.compilerDebugOptions ([]) #--- Options for C compiling (.c extension) gmf.m_C_CompilerOptions = default_build_options.C_CompilerOptions ([]) #--- Options for C++ compiling (.cpp extension) gmf.m_Cpp_CompilerOptions = default_build_options.Cpp_CompilerOptions (["-Weffc++", "-Wsign-promo"]) #--- Options for Objective-C compiling (.m extension) gmf.m_ObjectiveC_CompilerOptions = default_build_options.ObjectiveC_CompilerOptions ([]) #--- Options for Objective-C++ compiling (.mm extension) gmf.m_ObjectiveCpp_CompilerOptions = default_build_options.ObjectiveCpp_CompilerOptions ([]) #--- Library to use for gmp gmf.mCrossCompilation = "win32" #--- Run makefile gmf.run ()
def buildForLinux64OnMacOSX(dictionary, EXECUTABLE, GOAL, maxParallelJobs, displayCommands): # --- Too chain installation GCC_VERSION = "4.9.2" BINUTILS_VERSION = "2.25" TOOL_CHAIN_NAME = "binutils-" + BINUTILS_VERSION + "-gcc-" + GCC_VERSION + "-for-linux64" installDir = tool_chain_installation_path.toolChainInstallationPath() TOOL_CHAIN_INSTALL_PATH = installDir + "/" + TOOL_CHAIN_NAME if not os.path.exists(TOOL_CHAIN_INSTALL_PATH): cross_compiler_download.downloadToolChain(TOOL_CHAIN_NAME) # --- gmf = generic_galgas_makefile.GenericGalgasMakefile() gmf.mDictionary = dictionary gmf.mExecutable = EXECUTABLE gmf.mGoal = GOAL gmf.mMaxParallelJobs = maxParallelJobs gmf.mDisplayCommands = displayCommands gmf.mTargetName = "x86linux64" # --- UNIX_TOOL_PREFIX = TOOL_CHAIN_INSTALL_PATH + "/bin/x86_64-pc-linux" gmf.mCompilerTool = [UNIX_TOOL_PREFIX + "-gcc"] gmf.mLinkerTool = [UNIX_TOOL_PREFIX + "-g++", "-static-libgcc", "-Wl,--gc-sections"] gmf.mStripTool = [UNIX_TOOL_PREFIX + "-strip", "--strip-all"] gmf.mCompilationMessage = "Compiling for Linux64" gmf.mLinkingMessage = "Linking for Linux64" gmf.mStripMessage = "Stripping" gmf.mCrossCompilation = "Linux-x86_64" # --- Options for all compilers gmf.mAllCompilerOptions = default_build_options.allCompilerOptions(["-Wconversion"]) # --- Options for release mode gmf.mCompilerReleaseOptions = default_build_options.compilerReleaseOptions(["-O2"]) # --- Options for debug mode gmf.mCompilerDebugOptions = default_build_options.compilerDebugOptions([]) # --- Options for C compiling (.c extension) gmf.m_C_CompilerOptions = default_build_options.C_CompilerOptions([]) # --- Options for C++ compiling (.cpp extension) gmf.m_Cpp_CompilerOptions = default_build_options.Cpp_CompilerOptions(["-Weffc++", "-Wsign-promo"]) # --- Options for Objective-C compiling (.m extension) gmf.m_ObjectiveC_CompilerOptions = default_build_options.ObjectiveC_CompilerOptions([]) # --- Options for Objective-C++ compiling (.mm extension) gmf.m_ObjectiveCpp_CompilerOptions = default_build_options.ObjectiveCpp_CompilerOptions([]) # --- Run makefile gmf.run()