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()