Commit 2203c9ef authored by Andreas Bombe's avatar Andreas Bombe

Update upstream source from tag 'upstream/0.35+git20180503+dfsg'

Update to upstream version '0.35+git20180503+dfsg'
with Debian dir 83e6b0db2171e3eafd65771406e4c86452f58de9
parents 908e5ac4 3be9bced
*~
.*.sw[a-p]
*.ali
*.o
b~*.ad?
......@@ -13,9 +12,7 @@ b~*.ad?
testsuite/get_entities
# Generated files on windows.
build/
dist/mcode/build/
dist/mcode/lib/
/build/
# Generated directories on Linux
lib/
......@@ -40,12 +37,3 @@ run-bind.adb
run-bind.ads
src/version.ads
doc/_build/
# Debian specific files
.pc/
debian/.debhelper
debian/files
debian/*-stamp
debian/*.substvars
debian/ghdl*/
debian/tmp/
......@@ -2,61 +2,81 @@ branches:
except:
- appveyor
language: c
os: linux
dist: trusty
sudo: required
services: docker
language: minimal
install: skip
script: "./dist/linux/travis-ci.sh"
matrix:
include:
- os: linux
dist: trusty
sudo: required
services: docker
env: IMAGE=stretch+mcode
- os: linux
dist: trusty
sudo: required
services: docker
env: IMAGE=stretch+mcode+gpl
- os: linux
dist: trusty
sudo: required
services: docker
env: IMAGE=ubuntu14+mcode
- os: linux
dist: trusty
sudo: required
services: docker
env: IMAGE=ubuntu14+llvm-3.8
- os: linux
dist: trusty
sudo: required
services: docker
env: IMAGE=fedora26+mcode
- os: osx
osx_image: xcode7.3
env: IMAGE=macosx+mcode
cache:
directories:
- gnat
install: true
script:
- ./dist/linux/travis-ci.sh
before_deploy:
- "echo ready to deploy"
addons:
apt:
packages:
- docker-ce
deploy:
- provider: releases
- &deploy-docker
provider: script
skip_cleanup: true
script: ./dist/linux/deploy2dockerhub.sh "$IMAGE" "$TRAVIS_COMMIT_MESSAGE"
on:
repo: 1138-4EB/ghdl
branch: master
- &deploy-releases
provider: releases
skip_cleanup: true
api_key:
secure: ji6LXOmD5V2N+ELHZr4oJsmxPhedk+8W6jfCqQdEbewQ42N+fKOq3lgqJni7ZdfpZaulB9OHPTApv3bwOjXjtN9rfBGmq//U9CwvzHmUeomdQv6WQOVevaWSXl3DNL9fk3yKynyFrsv4pvr45L8GIjaHLggKcYhNFPJ2rrnJlDoFT9MqQNpmP7Bg/LnwVQiv+ZDPkLlMWQzrXzLamdQILARPQka+kCdXl/sHH6OKvLgRvu9yvyXYSSfbyAHP+THISS5gDciizSBeWGlU75kgj/N+mkV+8NvtTTfEIgG8y49WJz6aBooTmRzk/jZW1dKMbDR6c5bpTmRvMZSzeSBuAR6WLhr6HevgCPi/1fX1y3pkVSrgBUF5KcxPgWCZp0I05QjaJOdvQDl1hH4TlVwpT18lM2+cWrui9fS7spnk/AuNKX882C5QWWRy28lIPasCVnwfeKX8a9KAwY9OqVOenoLC1yx7NJOGfH1bjuSYYxyR4XgLiGTHKALAuknCyD9QL0o378IwqxHMcsN0Gsd+GndMu0/b8GvSqfzDpV1XknqabQFwkZLs+Yydw0snfBUzXw9TfOk78IiPYEgXAxsQKBAkK7qvO36HIxLlSQXglXU1D4IDtQYDUel6vKll4pgu0WMxStQCbj51yDVJKvRhzwiBNC6Pwgzt2JTrpwM/T/U=
file: "ghdl-*.tgz"
file_glob: true
on:
repo: tgingold/ghdl
tags: true
repo: ghdl/ghdl
all_branches: true
tags: true
# For each linux build, a different job/instance (with the constraints
# above) is executed in parallel in stage 'test'.
env:
matrix:
- IMAGE=stretch+mcode
- IMAGE=stretch+mcode+gpl
# - IMAGE=buster+mcode
# - IMAGE=buster+mcode+gpl
- IMAGE=ubuntu14+mcode
- IMAGE=ubuntu14+llvm-3.8
# - IMAGE=ubuntu16+mcode
# - IMAGE=ubuntu16+llvm-3.9
# - IMAGE=ubuntu18+mcode
# - IMAGE=ubuntu18+llvm-5.0
- IMAGE=fedora26+mcode
# - IMAGE=fedora26+llvm
global:
- secure: "MZHtYkWdYK+SeYzJvWD8I0tbkdHGjmWyNDn70a2RrNYFu363Zt51ZvksEtkjrS7kdje6l6VPfLjilX5UtywIM1Mg6nt/rsw4p62+bGhMyhfXiqS3eqEfH2sThjosy773X8iotm2sW0ax0oHX07ZLcuTbZ+TK2cMGarZ+LzNT8IiMaeaWu4W7aE5LRxSmVRwcACUOa3NiC7GY/qC7vU2C8QNdXSlU3fSp17K5eccrkkBuiEhRTsdr3ZIhjOjrYzqHKWC3a0uHn/fJsbepsVM6FGt+zAwo0VqdXXCE2ts8EOATvFgEaCGxUgfGd/yvNsAG7sjF3nweR9Z11dpMbBE+TjxlLCXQ31v1Oj7pH6vcgjCYV69cZiLbsDhxTJFQ08qbm3xK8dmTUXFy1scrMSd8D/Q3Uf0LjHkH5Q5dL8TOyqejs57fUTIBtBUpCTvvGOErdZQAOWJc93sC9RQB7BuCDR2yR7rPTJr4KUwspe1uScA/H9cQS2p42SeJ4+Yyjtwod3IQWjr6+/pdNPoImleOP0dXSDCXpAIsbv6TR9curS3geLJuTmu5UnLzbURDr7Whtop3lCPbiN0H9jThSuyIxWUI+6JDGDG89RXbCyZvGz97sIShYstWg0U0xLWmw9IDez2HtK5VKuTT/hE7gDicZ0erN6r1dlix3SpuCtH1MlA=" #U
- secure: "kIA09oCHzoHMK4LsfwcaVaMuoAFpd1M+M8tW3b9Rvki/hEB3y46edlb88lWVM7RgkNoCaIPwAZD7Wf3Xiq9Y7wWmqRsWQNRaorC0xke5SuyMwCSQSNo9S5jAu9SM5uxENCH9yucJl/vm2juYitJCHyYYMb4x17fy3sHKULNJ+JBqnrgOuTBYM1JOIkJVO1P5LqEXmqTtr6KgQgiTMtlvnM7hxjapgoyM3J1376f+Kfky0hUoDD7LFLXu8yQCn5Fnar8wR3czK6Qknafmckt5yWJxGOZobMDfKwOdA0fpU+XiArNQ/1NM80fGXq4YOGK5ycVQkO2ACxDqHYfQRYLlIfrUGp75BoXWwN6O1GoOrFcF7ZIoSaLoK3hZdvzRFT7dpUQFlosn00Y7VzqbosQM5QS5TBBqO+DExnkb399OpXI7o0lrlr232kjAeYqEb6N1n3M9BpiNW9Je4plJa/RDKwYsnC8Qak4G08PVTe6V711W1UtqMPd6efWFYTNvRW9tjO3v1lFGaGJ99ABP0AYLIDYWV3zfgvp0UzQOKFdWJj7dMQxdLMQ/bIETKn8P7NFjOWic4pgtp3zekZCL27blhc0fyHm62HUiVLT+VGFOI/nyclzBIZStSVuxPj2LvmAIiMnUNmWwds1ZqIZ21eiNykkn+k52ddTRHXIh2fhvWfg=" #P
after_deploy:
- "echo deployed"
stages:
- create ghdl/build and ghdl/run images
- test
jobs:
include:
# A single job is described in its own stage, to create and push ghdl/build and ghdl/run images.
- stage: create ghdl/build and ghdl/run images
env: IMAGE=""
script: if echo "$TRAVIS_COMMIT_MESSAGE" | grep -F -q "[ci images]"; then ./dist/linux/create.sh; fi;
deploy:
- <<: *deploy-docker
# A single additional job is described in stage 'test' for the macos build.
# The constraints above are used, except explicitly overriden.
- stage: test
os: osx
language: c
osx_image: xcode7.3
install: true
cache:
directories:
- gnat
env: IMAGE=macosx+mcode
deploy:
- <<: *deploy-releases
First off, thanks for taking the time to contribute!
Either to [report a bug](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html#reporting-bugs), [request enhancements](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html#requesting-enhancements) or to [contribute modifications](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html#fork-modify-and-pull-request), please read [Contributing](http://ghdl.readthedocs.io/en/doc-gcc/contribute.html) in the [Docs](http://ghdl.readthedocs.io/en/doc-gcc/index.html).
This diff is collapsed.
This diff is collapsed.
......@@ -21,6 +21,7 @@ build=@build@
srcdir=@srcdir@
abs_srcdir=@abs_srcdir@
GNATMAKE=@GNATMAKE@
MAKE=@MAKE@
prefix=@prefix@
backend=@backend@
libdirsuffix=@libdirsuffix@
......@@ -34,9 +35,12 @@ LDFLAGS=@LDFLAGS@
LIBBACKTRACE=@backtrace_lib@
llvm_be=@llvm_be@
build_mode=@build_mode@
ghdl_version=@ghdl_version@
libghdl_version=@libghdl_version@
enable_werror=@enable_werror@
enable_checks=@enable_checks@
enable_openieee=@enable_openieee@
enable_python=@enable_python@
INSTALL_PROGRAM=install -m 755
INSTALL_DATA=install -m 644
......@@ -113,7 +117,7 @@ LIBVHDL_FLAGS_TO_PASS=\
enable_openieee="$(enable_openieee)" \
LN="$(LN)" CP="$(CP)" MKDIR="$(MKDIR)"
all: Makefile all.$(backend)
all: Makefile all.$(backend) all.libghdl.$(enable_python)
install: install.$(backend)
......@@ -144,10 +148,11 @@ version.tmp: $(srcdir)/src/version.in force
# Create version.tmp from version.in, using git date/hash
if test -d $(srcdir)/.git \
&& desc=`cd $(srcdir); git describe --dirty`; then \
$(SED) -e "s/[(].*[)]/($$desc)/" < $< > $@; \
sub="s/[(].*[)]/($$desc)/"; \
else \
$(CP) $< $@; \
fi
sub="s/tarball/tarball/"; \
fi; \
$(SED) -e "$$sub" -e "s/@VER@/$(ghdl_version)/" < $< > $@; \
version.ads: version.tmp
# Change version.ads only if version.tmp has been modified to avoid
......@@ -187,10 +192,10 @@ gcc_vhdl_dir=$(gcc_src_dir)/gcc/vhdl
all.gcc:
@echo "For installing sources in gcc, do:"
@echo "1) make copy-sources"
@echo "1) $(MAKE) copy-sources"
@echo "2) configure, build and install gcc"
@echo "3) make ghdllib"
@echo "4) make install"
@echo "3) $(MAKE) ghdllib"
@echo "4) $(MAKE) install"
copy-sources.gcc: version.ads
$(RM) -rf $(gcc_vhdl_dir)
......@@ -325,7 +330,7 @@ ghdl_simul$(EXEEXT): $(GRT_ADD_OBJS) $(GRT_SRC_DEPS) version.ads force
libs.vhdl.simul: ghdl_simul$(EXEEXT)
$(MAKE) -f $(srcdir)/libraries/Makefile.inc $(LIBVHDL_FLAGS_TO_PASS) GHDL=$(PWD)/ghdl_simul$(EXEEXT) GHDL_FLAGS="" VHDLLIBS_COPY_OBJS=no vhdl.libs.all
install.simul.program: install.dirs ghdl_simul(EXEEXT)
install.simul.program: install.dirs ghdl_simul$(EXEEXT)
$(INSTALL_PROGRAM) ghdl_simul$(EXEEXT) $(DESTDIR)$(bindir)/ghdl$(EXEEXT)
install.simul: install.simul.program install.vhdllib
......@@ -335,9 +340,14 @@ install.simul: install.simul.program install.vhdllib
LIBGHDL_INCFLAGS=$(GHDL_COMMON_INCFLAGS) -aI$(srcdir)/src/vhdl/python -aI$(srcdir)/src/ghdldrv
libghdl$(SOEXT): $(GRT_SRC_DEPS) version.ads force
libghdl_name=libghdl-$(libghdl_version)$(SOEXT)
$(libghdl_name): $(GRT_SRC_DEPS) version.ads force
$(GNATMAKE) -I- -aI. -D pic -z libghdl -o $@ $(GNATFLAGS) $(PIC_FLAGS) -gnat05 $(LIBGHDL_INCFLAGS) -bargs -shared -Llibghdl_ -largs -shared $(SHLIB_FLAGS)
all.libghdl.true: $(libghdl_name)
all.libghdl.false:
################ ghdlsynth library ######################################
GHDL_SYNTHLIB_INCFLAGS=$(GHDL_COMMON_INCFLAGS) -aI$(srcdir)/src/synth -aI$(srcdir)/src/ghdldrv -aI$(srcdir)/src/vhdl/simulate
......@@ -404,19 +414,24 @@ install.vpi: all.vpi install.dirs
$(INSTALL_DATA) -p libghdlvpi$(SOEXT) $(DESTDIR)$(libdir)/
$(INSTALL_DATA) -p $(GRTSRCDIR)/vpi_user.h $(DESTDIR)$(incdir)/
install.vpi.local: all.vpi
$(MKDIR) -p include lib
$(INSTALL_DATA) -p $(GRTSRCDIR)/vpi_user.h include/
$(INSTALL_DATA) -p libghdlvpi$(SOEXT) lib/
################ Libraries ###############################################
LIBSRC_DIR:=$(srcdir)/libraries
LIBDST_DIR:=$(libdirsuffix)
VHDLLIB_SUBDIRS_COMMON= src/std src/synopsys src/openieee \
v87/std v87/ieee v87/synopsys \
v93/std v93/ieee v93/synopsys \
v08/std
std/v87 ieee/v87 synopsys/v87 \
std/v93 ieee/v93 synopsys/v93 \
std/v08
VHDLLIB_SUBDIRS_FULL= src/ieee src/vital95 src/vital2000 src/mentor \
src/ieee2008 \
v93/mentor v08/ieee v08/synopsys
mentor/v93 ieee/v08 synopsys/v08
ifeq ($(enable_openieee),false)
VHDLLIB_SUBDIRS=$(VHDLLIB_SUBDIRS_COMMON) $(VHDLLIB_SUBDIRS_FULL)
......
**0.35** (2017-12-XX)
**0.36-dev** (XXXX-XX-XX)
- A new GitHub organization is created and the main repo is moved from [github.com/tgingold/ghdl](https://github.com/tgingold/ghdl) to [github.com/ghdl/ghdl](https://github.com/ghdl/ghdl). Old refs will continue working, because permanent redirects are set up. However, we suggest every contributor to update the remote URLs in their local clones.
**0.35** (2017-12-14)
- Assert and report messages are sent to stdout (#394)
- Improve support for unbounded records
- Bugs fixed
......
This diff is collapsed.
......@@ -3,11 +3,19 @@
# configure script for ghdl (c) 2014 Tristan Gingold
#
# Current version. This is the only place where the version is written.
# Any code that needs version should read it directly or indirectly from this
# place.
# Note the absence of spaces and the quotes.
# Suffix "-dev" is used during development.
ghdl_version="0.36-dev"
backend=mcode
CC=${CC:-gcc}
CXX=${CXX:-clang++}
CFLAGS=${CFLAGS:--g}
GNATMAKE=${GNATMAKE:-gnatmake}
MAKE=${MAKE:-make}
LDFLAGS=
prefix=/usr/local
libdirsuffix=lib/ghdl
......@@ -21,6 +29,7 @@ build_mode=
enable_werror=true
enable_checks=true
enable_openieee=unknown
enable_python=false
EXEEXT=
SOEXT=.so
PIC_FLAGS=-fPIC
......@@ -28,7 +37,7 @@ PIC_FLAGS=-fPIC
show_help=no
progname=$0
subst_vars="CC CXX GNATMAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pie enable_werror enable_checks enable_openieee"
subst_vars="CC CXX GNATMAKE MAKE CFLAGS LDFLAGS build srcdir abs_srcdir prefix backend libdirsuffix libdirreverse gcc_src_dir llvm_config llvm_be backtrace_lib build_mode EXEEXT SOEXT PIC_FLAGS default_pie enable_werror enable_checks enable_openieee enable_python libghdl_version ghdl_version"
# Find srcdir
srcdir=`dirname $progname`
......@@ -79,6 +88,8 @@ for opt do
--disable-checks) enable_checks=false;;
--enable-openieee) enable_openieee=true;;
--disable-openieee) enable_openieee=false;;
--enable-python) enable_python=true;;
--disable-python) enable_python=false;;
--enable-coverage) build_mode="coverage";;
-h|-help|--help) show_help=yes;;
*) echo "$0: unknown option $opt; try $0 --help"
......@@ -102,6 +113,7 @@ Options [defaults in brackets]:
--disable-werror warnings don't stop build
--disable-checks disable internal checks
--enable-openieee use gpl-compatible sources for ieee library
--enable-python build python libghdl
EOF
exit 0
fi
......@@ -217,7 +229,9 @@ if test $backend = llvm; then
# Tested with llvm 3.5, so assume 3.6, 3.7 and 3.8
elif check_version 3.9 $llvm_version ||
check_version 4.0 $llvm_version ||
check_version 5.0 $llvm_version; then
check_version 5.0 $llvm_version ||
check_version 6.0 $llvm_version ||
false; then
echo "Debugging is not enabled with llvm $llvm_version"
llvm_be=llvm4-nodebug
else
......@@ -240,6 +254,9 @@ case "$build" in
*) SOEXT=".so"; EXEEXT=""; PIC_FLAGS="-fPIC";;
esac
# Define libghdl_version
libghdl_version=`echo $ghdl_version | sed -e 's/[-.]/_/g'`
# Check if gcc was configured with --enable-default-pie. In that case -fPIC
# should be added.
if gcc -v 2>&1 | grep -q enable-default-pie; then
......@@ -280,10 +297,14 @@ for v in $subst_vars; do
echo $v=\"$vval\"
done
sed_opts=`echo $subst_vars | sed -e "s/\\([a-zA-Z_]*\\)/ -e \"s%@\1@%\$\1%g\"/g"`
echo 'echo "Creating ghdl.gpr"'
echo sed $sed_opts '< $srcdir/ghdl.gpr.in > ghdl.gpr'
echo 'echo "Creating Makefile"'
echo sed $sed_opts '< $srcdir/Makefile.in > Makefile'
subst_files="ghdl.gpr Makefile"
if [ "$enable_python" = true ]; then
subst_files="$subst_files setup.py"
fi
echo "for f in $subst_files; do"
echo ' echo "Creating $f"'
echo " sed $sed_opts" '< $srcdir/${f}.in > $f'
echo "done"
} > config.status || \
{
echo "$progname: cannot create config.status"
......@@ -299,7 +320,7 @@ if ! sh ./config.status; then
fi
# Create dirs
make create-dirs
$MAKE create-dirs
# Generate ortho_code-x86-flags
if test $backend = mcode; then
......
#! /bin/bash
. dist/linux/travis-utils.sh
. dist/ansi_color.sh
disable_color
echo "$0" "$@"
# Stop in case of error
set -e
# Transform long options to short ones
for arg in "$@"; do
shift
case "$arg" in
"--color"|"-color") set -- "$@" "-c";;
"--build"|"-build") set -- "$@" "-b";;
"--pkg"|"-pkg") set -- "$@" "-p";;
"--gpl"|"-gpl") set -- "$@" "-g";;
*) set -- "$@" "$arg"
esac
done
# Parse args
while getopts ":b:p:cg" opt; do
case $opt in
c) enable_color;;
b) BLD=$OPTARG ;;
p) PKG_NAME=$OPTARG;;
g) ISGPL=true;;
\?) printf "$ANSI_RED[GHDL - build] Invalid option: -$OPTARG $ANSI_NOCOLOR\n" >&2
exit 1 ;;
:) printf "$ANSI_RED[GHDL - build] Option -$OPTARG requires an argument. $ANSI_NOCOLOR\n" >&2
exit 1 ;;
esac
done
rm -f build_ok
#--- Env
echo "travis_fold:start:env.docker"
printf "$ANSI_YELLOW[Info] Environment $ANSI_NOCOLOR\n"
env
echo "travis_fold:end:env.docker"
#--- GPL: gpl-ize sources
if [ "$ISGPL" = "true" ]; then
echo "travis_fold:start:gpl.src"
printf "$ANSI_YELLOW[Source] create GPL sources $ANSI_NOCOLOR\n"
files=`echo *`
make -f Makefile.in srcdir=. clean-pure-gpl
mkdir ${PKG_NAME}
cp -pdrl $files ${PKG_NAME}
tar -zcf "${PKG_NAME}.tar.gz" ${PKG_NAME}
PKG_NAME="${PKG_NAME}-${BLD}"
echo "travis_fold:end:gpl.src"
fi
#--- Configure
echo "travis_fold:start:configure"
printf "$ANSI_YELLOW[GHDL - build] Configure $ANSI_NOCOLOR\n"
CDIR=$(pwd)
export prefix="$CDIR/install-$BLD"
mkdir "$prefix"
mkdir "build-$BLD"
cd "build-$BLD"
case "$BLD" in
mcode)
config_opts=""
CXX=""
;;
llvm)
CXX="clang"
config_opts="--with-llvm-config CXX=$CXX"
;;
llvm-3.5)
CXX="clang++"
config_opts="--with-llvm-config=llvm-config-3.5 CXX=$CXX"
;;
llvm-3.8)
CXX="clang++-3.8"
config_opts="--with-llvm-config=llvm-config-3.8 CXX=$CXX"
;;
llvm-3.9)
CXX="clang++-3.9"
config_opts="--with-llvm-config=llvm-config-3.9 CXX=$CXX"
;;
llvm-4.0)
CXX="clang++-4.0"
config_opts="--with-llvm-config=llvm-config-4.0 CXX=$CXX"
;;
llvm-5.0)
CXX="clang++-5.0"
config_opts="--with-llvm-config=llvm-config-5.0 CXX=$CXX"
;;
*)
echo "$ANSI_RED[GHDL - build] Unknown build $BLD $ANSI_NOCOLOR"
exit 1;;
esac
echo "../configure --prefix=$prefix $config_opts"
../configure "--prefix=$prefix" $config_opts
echo "travis_fold:end:configure"
#--- make
echo "travis_fold:start:make"
travis_time_start
printf "$ANSI_YELLOW[GHDL - build] Make $ANSI_NOCOLOR\n"
make
travis_time_finish
echo "travis_fold:end:make"
echo "travis_fold:start:install"
printf "$ANSI_YELLOW[GHDL - build] Install $ANSI_NOCOLOR\n"
make install
cd ..
echo "travis_fold:end:install"
#--- package
echo "travis_fold:start:tar.bin"
printf "$ANSI_YELLOW[GHDL - build] Create package ${ANSI_DARKCYAN}${PKG_NAME}.tgz $ANSI_NOCOLOR\n"
tar -zcvf "${PKG_NAME}.tgz" -C "$prefix" .
echo "travis_fold:end:tar.bin"
#--- build tools versions
{
make --version | grep 'Make'
gnatls --version | grep 'GNATLS'
gcc --version | grep 'gcc'
if [ "$CXX" != "" ]; then
$CXX --version | grep 'clang'
fi
} > BUILD_TOOLS
#---
echo "[SUCCESSFUL]"
touch build_ok
#! /bin/sh
# This script is executed in the travis-ci environment.
set -e
. dist/linux/travis-utils.sh
. dist/ansi_color.sh
#disable_color
scriptdir=$(dirname $0)
for d in build run; do
currentdir="${scriptdir}/docker/$d"
for f in `ls $currentdir`; do
for tag in `grep -oP "FROM.*AS \K.*" ${currentdir}/$f`; do
echo "travis_fold:start:${f}-$tag"
travis_time_start
printf "$ANSI_BLUE[DOCKER build] ${d} : ${f} - ${tag}$ANSI_NOCOLOR\n"
docker build -t ghdl/${d}:${f}-${tag} --target $tag - < ${currentdir}/$f
travis_time_finish
echo "travis_fold:end:${f}-$tag"
done
done
done
#! /bin/sh
set -e
. dist/linux/travis-utils.sh
. dist/ansi_color.sh
#disable_color
# Skip deploy if we are in stage 0 (i.e. IMAGE="") and there is no '[ci images]' in the commit message
if [ "$1" = "skip" ] || [ "${1}$(echo $2 | grep -o '\[ci images\]')" = "" ]; then
printf "${ANSI_GREEN}SKIP DEPLOY2DOCKERHUB$ANSI_NOCOLOR\n";
exit 0;
fi
case $1 in
"") FILTER="/";;
*) FILTER="/ghdl /pkg";;
esac
docker login -u="$DOCKER_USER" -p="$DOCKER_PASS"
for key in $FILTER; do
for tag in `echo $(docker images ghdl$key* | awk -F ' ' '{print $1 ":" $2}') | cut -d ' ' -f2-`; do
if [ "$tag" = "REPOSITORY:TAG" ]; then break; fi
echo "travis_fold:start:`echo $tag | grep -oP 'ghdl/\K.*'`"
travis_time_start
printf "$ANSI_YELLOW[DOCKER push] ${tag}$ANSI_NOCOLOR\n"
docker push $tag
travis_time_finish
echo "travis_fold:end:`echo $tag | grep -oP 'ghdl/\K.*'`"
done
done
docker logout
# Fedora 26
FROM fedora:26
RUN dnf --nodocs -y install gcc-gnat zlib-devel make \
&& dnf clean all
# Debian 9
FROM debian:stretch-slim
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
gnat gcc make zlib1g-dev \
&& apt-get clean
# Ubuntu 14
FROM ubuntu:trusty
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
gnat gcc make zlib1g-dev llvm-3.8-dev clang-3.8 \
&& apt-get clean
# Debian 9
FROM debian:stretch-slim
# [build] Debian 10
FROM debian:buster-slim AS mcode
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
gnat gcc make zlib1g-dev \
&& apt-get clean
&& apt-get autoclean && apt-get clean && apt-get autoremove
FROM mcode AS mcode-gpl
# [build] Fedora 26
FROM fedora:26 AS mcode
RUN dnf --nodocs -y install gcc-gnat zlib-devel make \
&& dnf clean all --enablerepo=\*
FROM mcode AS llvm
RUN dnf --nodocs -y install llvm-devel gcc-c++ clang \
&& dnf clean all --enablerepo=\*
# Ubuntu 14
FROM ubuntu:trusty
# [build] Debian 9
FROM debian:stretch-slim AS mcode
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
gnat gcc make zlib1g-dev \
&& apt-get clean
&& apt-get autoclean && apt-get clean && apt-get autoremove
FROM mcode AS mcode-gpl
# [build] Ubuntu 14
FROM ubuntu:trusty AS mcode
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
gnat gcc make zlib1g-dev \
&& apt-get autoclean && apt-get clean && apt-get autoremove
FROM mcode AS llvm-3.8
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
llvm-3.8-dev clang-3.8 \
&& apt-get autoclean && apt-get clean && apt-get autoremove
# [build] Ubuntu 16
FROM ubuntu:xenial AS mcode
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
gnat gcc make zlib1g-dev \
&& apt-get autoclean && apt-get clean && apt-get autoremove
FROM mcode AS llvm-3.9
RUN apt-get update -qq \
&& apt-get -y install --no-install-recommends \
llvm-3.9-dev clang-3.9 \