Experimental builds for Euphoria 4.2

new topic     » topic index » view thread      » older message » newer message

Good news, everyone! I just pushed one of the many things I've been toiling away on: a new Makefile called build.mak.

This is a "meta" makefile that to create a full release of Euphoria. I assume you're on x86-64 and using a recent distribution of Debian (11+) or Ubuntu (20.04+) or a derivative (e.g. Mint).

See the platforms list below for the required packages. Here's how it works:

  1. . Runs ./configure with the options for (cross-)compiling to the target platform.
  2. . Renames config.gnu file created by ./configure to include the platform name.
  3. . Runs make, specifying the CONFIG_FILE option to the file created in steps 1-2.
  4. . Collects the artifacts from the build directory into a temporary directory in /tmp.
  5. . Creates a tarball or zip file in the source directory with the files from step 4.

Here's an example to try on a fresh Debian or Ubuntu machine:

sudo apt install build-essential git binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64 
git clone https://github.com/OpenEuphoria/euphoria 
cd euphoria/source 
make -f build.mak -j$(nproc) PLATFORM=windows-x64 

Here are the supported platforms and their required packages:

Platform Packages
linux-x64 build-essential
linux-arm build-essential binutils-arm-linux-gnu gcc-arm-linux-gnu
linux-x86 build-essential binutils-i686-linux-gnu gcc-i686-linux-gnu
windows-x64 build-essential binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64
windows-x86 build-essential binutils-mingw-w64-i686 gcc-mingw-w64-i686

I still have some things to work out with the GitHub actions (see euphoria.yml) but soon it will be able to complete a build and publish the artifacts directly to the Releases page!

-Greg

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu