User:Georgy
Georgy Berdyshev
The goal of this project is to implement MSYS2 based build process for ASCEND and improve packaging for Mac.
The main task is to improve the ASCEND build processes by creating a new MSYS2 based implementation by modifying and updating the current SCons build files.
The introduction of MSYS2 for the build processes will bring many benefits to ASCEND, such as the possibility to build more easily 64 bit binaries on Windows and to be able to rely on a current gcc compiler suite from MinGWw64.
In contrast, the current build process has to rely on TDMGCC (instead of MinGW used with MSYS) to be able to compile 32bit and 64bit binaries. MSYS2 would bring many features to the project, such as the possibility to install dependencies in an easy manner and speed up the build process. But most importantly it has much better native Windows API support. Therefore providing a very feature rich and free base for the new build system of ASCEND.
Project details: https://summerofcode.withgoogle.com/dashboard/project/5090588751822848/details/
Using subversion
1) Subversion username and branch: georgy:
2) Changes:
http://code.ascend4.org/ascend/branches/georgy/?sortby=log&view=log
The changes for this project are committed to github and synced regularly with the georgy: subversion branch.
Using git (github.com)
1) Master branch contains merge code from the below branches, that is synced to the subversion branch.
2) MSYS2 branch contains msys2, swig and changes for mingw64 and native Python support.
3) NSIS3 branch contains support for a NSIS3 Windows based installer and further improvements.
4) Sundials_2.6 branch contains support for using the newer sundials 2.6 version with ascend.
Obtaining the source code
1) Using subversion
svn co http://code.ascend4.org/ascend/branches/georgy
2) Using git
git clone https://github.com/georgyberdyshev/ascend.git
Using MSYS2
MSYS2 is a new generation of MSYS that works with the pacman package manager.
After obtaining the source code, you can install the required pacman package by running the following commands:
Invalid language.
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn
It is important to note, that the current version of scons that is being used for the build relies on the msys Python package, that is broken. Therefore it is required to bootstrap an alternative Python, even though scons runs via msys. You may either provide a mingw64 install Python or the native win32 Python installation, by specifying the PYTHON variable to scons.
Invalid language.
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn
Project log
- Added SWIG 3 support. Fixes Unknown SWIG preprocessor directive error.
- Fix name of sundials-config command.
- Detect SUNDIALS 2.6 on MinGW.
- Detect SUNDIALS 2.6 on MinGW.
- Updated code to use NSISdl plugin.
- Added Unicode multi language installer and uninstaller with several languages.
- Create NSIS Modern UI 2.0 based installers.
- Display ASCEND website as branding text.
- Added initial code to specify and detect the Python executable.
- Merge remote-tracking branch 'origin/nsis3' into msys2/python
- Use /usr/bin/env to detect Python.
- Use /usr/bin/env to detect Python.
- Detect native win32 Python.
- Use os.path on Windows.
- Added functionality to detect Windows Python environment.
- Request Python environment when using msys2.
- Added functionality to detect Windows Python environment independently.
- Detect bootstrapped Python environment.
- Added support to bootstrap mingw64 Python from msys2.
- Added functionality to detect additional lib paths for native Python on win32 and win64.
- Show scons generated output files.
- Fix SWIG compilation and Python lib paths.
- Fix compilation and Python lib paths.
- Updated NSIS detection.
- Updated Tcl detection.
- Merge branch 'sundials_2.6' into msys2/python