Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create executables at end of CI pipeline #35

Open
slivingston opened this issue Feb 23, 2020 · 5 comments
Open

create executables at end of CI pipeline #35

slivingston opened this issue Feb 23, 2020 · 5 comments
Assignees

Comments

@slivingston
Copy link
Member

The most frequent criticism that I receive about gr1c is that building gr1c is difficult on macOS and Windows. This can be practically solved by providing users with ready-to-execute files for macOS and Windows. To this end, I propose to extend the CI testing pipeline to save build results in certain cases: version tags or every commit on master branch.

Consider the following:

  1. Travis CI provides for uploading assets in tagged releases on GitHub,
  2. AppVeyor provides a similar feature and furthermore has Windows VMs.
@slivingston
Copy link
Member Author

The mingw-w64 project (also, the project on SourceForge) provides GCC prepared as a cross-compiler that targets 32-bit and 64-bit Windows.

I am able to build gr1c with it, and I have tried several examples while executing gr1c.exe on Wine and on Windows 10.

@slivingston
Copy link
Member Author

as part of this work, delete the files posted at https://dl.bintray.com/slivingston/generic/ and references to that in the manual

@slivingston
Copy link
Member Author

I am using https://github.com/tpoechtrager/osxcross in other work, and I propose that it can be used here to build gr1c files for macOS hosts. Today on a GNU/Linux host (my laptop), I built files that present as macOS executables from the following steps:

git clone https://github.com/tpoechtrager/osxcross.git
cd osxcross
wget -nc https://s3.dockerproject.org/darwin/v2/MacOSX10.10.sdk.tar.xz
mv MacOSX10.10.sdk.tar.xz tarballs
UNATTENDED=yes OSX_VERSION_MIN=10.7 ./build.sh
export PATH=/home/scott/extern-repo/osxcross/target/bin:$PATH

Then, from the root of the gr1c source tree, after completion of ./get-deps.sh

export CC=x86_64-apple-darwin14-cc
export LD="x86_64-apple-darwin14-ld -r"
cd extern/src/cudd-3.0.0
make clean
CC=o64-clang CXX=o64-clang++ ./configure --host=x86_64-apple-darwin14 --prefix=`pwd`/../..
make
make install
cd ../../..
make -e all

@slivingston
Copy link
Member Author

For completeness, the SHA256 value of the tarball downloaded above is as follows:

631b4144c6bf75bf7a4d480d685a9b5bda10ee8d03dbf0db829391e2ef858789  tarballs/MacOSX10.10.sdk.tar.xz

@slivingston
Copy link
Member Author

N.B., using GitHub Actions as of cc46891

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant