A simple distro-agnostic script to make portable x86_64 GCC/MinGW builds, handy to use custom or devel GCC. You can have as many as you want, unlike candy 🐸 and move them wherever you see fit.
You'll need basic development tools installed (base-devel
, build-essential
or similar for your distro as well as texlive-core
, wget
, and optionally schedtool
to speedup compilation) to use it. You may need up to 20GB space during compilation.
It is bound to the libc version of the host system, so cross-distro portability will only work with a corresponding libc version
- Use
mostlyportable-gcc.cfg
ormostlyportable-mingw.cfg
files (depending on the compiler you want to build) to define core options as needed; - You can apply your own patches by putting them next to the script with a .gccpatch extension.
- You can reverse-apply your own patches by putting them next to the script with a .gccrevert extension.
Simply run ./mostlyportable-gcc.sh
and select the compiler you want to build. If you want to customize your build, edit the corresponding .cfg.
You can all run ./mostlyportable-gcc.sh gcc
, ./mostlyportable-gcc.sh mingw
or ./mostlyportable-gcc.sh all
to build respectively gcc, mingw or both directly, skipping the prompt.
The most convenient way is to locally add bin/lib/include dirs of your build to PATH when building your project. That way your custom build will get priority for that process without altering your system.
Example: customcc="/home/frog/PKGBUILDS/mostlyportable-gcc/gcc-mostlyportable-9.2.0" PATH=${customcc}/bin:${customcc}/lib:${customcc}/include:${PATH} make
Depending on your needs, simply exporting gcc binary path as CC can be enough.
Example: CC="/home/frog/PKGBUILDS/mostlyportable-gcc/gcc-mostlyportable-9.2.0/bin/gcc" make