diff options
Diffstat (limited to 'translate/gcc')
-rw-r--r-- | translate/gcc/Make-lang.in | 54 | ||||
-rwxr-xr-x | translate/gcc/dist.sh | 9 |
2 files changed, 59 insertions, 4 deletions
diff --git a/translate/gcc/Make-lang.in b/translate/gcc/Make-lang.in index 308f400..3c6e5c3 100644 --- a/translate/gcc/Make-lang.in +++ b/translate/gcc/Make-lang.in @@ -69,17 +69,67 @@ AGCC_GCCSRC_DIR=$(srcdir)/.. AGCC_GCCOBJ_DIR=../ ####gcc Makefile.inc +# -*- Makefile -*- for the gcc implemantation of ortho. +# Copyright (C) 2005 Tristan Gingold +# +# GHDL is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2, or (at your option) any later +# version. +# +# GHDL is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING. If not, write to the Free +# Software Foundation, 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Variable used: +# AGCC_GCCSRC_DIR: the gcc source base directory (ie gcc-X.Y.Z-objs/) +# AGCC_GCCOBJ_DIR: the gcc objects base directory +# agcc_srcdir: the agcc source directory +# agcc_objdir: the agcc object directory + +AGCC_INC_FLAGS=-I$(AGCC_GCCOBJ_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/include \ + -I$(AGCC_GCCSRC_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/gcc/config \ + -I$(AGCC_GCCSRC_DIR)/libcpp/include +AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) + +AGCC_LOCAL_OBJS=ortho-lang.o + +AGCC_DEPS := $(AGCC_LOCAL_OBJS) +AGCC_OBJS := $(AGCC_LOCAL_OBJS) $(AGCC_GCCOBJ_DIR)gcc/attribs.o +# $(AGCC_GCCOBJ_DIR)gcc/toplev.o + +ortho-lang.o: $(agcc_srcdir)/ortho-lang.c \ + $(AGCC_GCCOBJ_DIR)gcc/gtype-vhdl.h \ + $(AGCC_GCCOBJ_DIR)gcc/gt-vhdl-ortho-lang.h + $(CC) -c -o $@ $< $(AGCC_CFLAGS) + +agcc-clean: force + $(RM) -f $(agcc_objdir)/*.o + $(RM) -f $(agcc_srcdir)/*~ + +agcc-maintainer-clean: force + $(RM) -f $(AGCC_DEPS) + + +.PHONY: agcc-clean agcc-maintainer-clean # The compiler proper. # It is compiled into the vhdl/ subdirectory to avoid file name clashes but # linked in in gcc directory to be able to access to gcc object files. -ghdl1$(exeext): $(AGCC_OBJS) $(AGCC_DEPS) force +ghdl1$(exeext): $(AGCC_OBJS) $(AGCC_DEPS) force $(BACKEND) $(LIBDEPS) CURDIR=`pwd`; cd $(srcdir)/vhdl; VHDLSRCDIR=`pwd`; cd $$CURDIR/vhdl; \ $(GNATMAKE) -c -aI$$VHDLSRCDIR ortho_gcc-main \ -cargs $(CFLAGS) $(GHDL_ADAFLAGS) $(GNATMAKE) -o $@ -aI$(srcdir)/vhdl -aOvhdl ortho_gcc-main \ -bargs -E -cargs $(CFLAGS) $(GHDL_ADAFLAGS) \ - -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) + -largs $(AGCC_OBJS) $(filter-out main.o,$(BACKEND)) \ + $(LIBS) $(BACKENDLIBS) # The driver for ghdl. ghdl$(exeext): force diff --git a/translate/gcc/dist.sh b/translate/gcc/dist.sh index f79719b..9501334 100755 --- a/translate/gcc/dist.sh +++ b/translate/gcc/dist.sh @@ -39,7 +39,7 @@ set -e # GCC version -GCCVERSION=4.3.4 +GCCVERSION=4.7.2 # Machine name used by GCC MACHINE=i686-pc-linux-gnu # Directory where GCC sources (and objects) stay. @@ -187,12 +187,17 @@ do_compile () case x86 in x86) BUILD=i686-pc-linux-gnu - CONFIG_LIBS="--with-gmp=$PWD/../build --with-mpfr=$PWD/../build" + # gmp location (mpfr and mpc are supposed to be at the same place) + CONFIG_LIBS="--with-gmp=$PWD/../build" ;; x86-64) BUILD=x86_64-pc-linux-gnu CONFIG_LIBS="" ;; + darwin) + BUILD=x86_64-apple-darwin10.7 + CONFIG_LIBS="--with-gmp=$HOME/local" + ;; *) exit 1 ;; |