# DP: - Introduce a new shared library named libgnatprj, containing # DP: the GNAT project file manager licensed under the pure GPL, for # DP: use in GNAT tools, GLADE and GPS. Link the GNAT tools against # DP: this new library. # This patch seems large, but the hunks in Makefile.in are actually # generated from Makefile.def using autogen. # !!! Must be applied after ada-libgnatvsn.dpatch Index: b/src/gcc/ada/gcc-interface/config-lang.in =================================================================== --- a/src/gcc/ada/gcc-interface/config-lang.in +++ b/src/gcc/ada/gcc-interface/config-lang.in @@ -36,8 +36,8 @@ outputs="ada/gcc-interface/Makefile ada/Makefile" -target_libs="target-libada target-libgnatvsn" -lang_dirs="libada libgnatvsn gnattools" +target_libs="target-libada target-libgnatvsn target-libgnatprj" +lang_dirs="libada libgnatvsn libgnatprj gnattools" # Ada is not enabled by default for the time being. build_by_default=no Index: b/src/gnattools/Makefile.in =================================================================== --- a/src/gnattools/Makefile.in +++ b/src/gnattools/Makefile.in @@ -36,13 +36,13 @@ target_noncanonical=@target_noncanonical@ CFLAGS=-O2 -Wall -INCLUDES = -I@srcdir@/../gcc/ada -I@srcdir@/../gcc ADA_CFLAGS=-O2 -gnatn -ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn +ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn -I../libgnatprj LIB_VERSION=$(strip $(shell grep ' Library_Version :' \ ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION) ADA_LIBS += -L../libgnatvsn -lgnatvsn +ADA_LIBS += -L../libgnatprj -lgnatprj # We will use the just-built compiler to compile and link everything. GCC=../gcc/xgcc -B../gcc/ @@ -67,74 +67,18 @@ # Since we don't have gnatmake, we must specify the full list of # object files necessary to build gnatmake and gnatlink. -# TODO: remove from these lists the objects that are part of -# libgnatprj. GNATLINK_OBJS = \ -ali.o \ -butil.o \ -fmap.o \ gnatlink.o \ indepsw.o \ -osint.o \ -prefix.o \ -rident.o \ -sdefault.o \ -stylesw.o \ -switch.o \ -targparm.o \ validsw.o GNATMAKE_OBJS = \ -ali-util.o \ -ali.o \ -binderr.o \ -butil.o \ -err_vars.o \ -erroutc.o \ -errutil.o \ -fmap.o \ fname-sf.o \ -fname-uf.o \ gnatmake.o \ make.o \ makeusg.o \ -makeutl.o \ -mlib-fil.o \ mlib-prj.o \ -mlib-tgt.o \ -mlib-tgt-specific.o \ -mlib-utl.o \ -mlib.o \ osint-m.o \ -osint.o \ -prefix.o \ -prj-attr-pm.o \ -prj-attr.o \ -prj-com.o \ -prj-dect.o \ -prj-env.o \ -prj-err.o \ -prj-ext.o \ -prj-nmsc.o \ -prj-pars.o \ -prj-part.o \ -prj-proc.o \ -prj-strt.o \ -prj-tree.o \ -prj-util.o \ -prj.o \ -rident.o \ -scng.o \ -sdefault.o \ -sfn_scan.o \ -sinput-c.o \ -sinput-p.o \ -styleg.o \ -stylesw.o \ -switch-m.o \ -switch.o \ -targparm.o \ -tempdir.o \ usage.o \ validsw.o \ $(EXTRA_GNATMAKE_OBJS) @@ -176,11 +120,6 @@ for file in $(BODIES) $(SPECS); do \ $(LN_S) -f $$file .; \ done - rm -f sdefault.adb; $(LN_S) ../gcc/ada/sdefault.adb . - $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ - rm -f $(word 1,$(subst <, ,$(PAIR)));\ - $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \ - $(word 1,$(subst <, ,$(PAIR)));) touch $@ gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so @@ -193,19 +132,16 @@ vpath %.c @srcdir@/../gcc/ada:@srcdir@/../gcc vpath %.h @srcdir@/../gcc/ada -# Because the just-built gcc is a host tool like us, we can use some -# of its object files, e.g. prefix.o. -vpath prefix.o ../gcc - # gnatlink -gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o link.o +gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o $(GCC) -o $@ $^ \ + ../libgnatprj/libgnatprj.a \ ../libgnatvsn/libgnatvsn.a \ ../gcc/ada/rts/libgnat.a \ ../libiberty/libiberty.a -gnatlink: $(GNATLINK_OBJS) b_gnatl.o link.o +gnatlink: $(GNATLINK_OBJS) b_gnatl.o $(GCC) -o $@ $^ $(ADA_LIBS) ../libiberty/libiberty.a b_gnatl.o: b_gnatl.c adaint.h @@ -216,13 +152,14 @@ # gnatmake -gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o link.o +gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o $(GCC) -o $@ $(ADA_CFLAGS) $^ \ + ../libgnatprj/libgnatprj.a \ ../libgnatvsn/libgnatvsn.a \ ../gcc/ada/rts/libgnat.a \ ../libiberty/libiberty.a -gnatmake: $(GNATMAKE_OBJS) b_gnatm.o link.o +gnatmake: $(GNATMAKE_OBJS) b_gnatm.o $(GCC) -o $@ $(ADA_CFLAGS) $^ $(ADA_LIBS) ../libiberty/libiberty.a b_gnatm.o: b_gnatm.c adaint.h @@ -232,19 +169,11 @@ ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatmake.ali # Other tools -gnatkr: - if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi - ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \ - --GCC="$(GCC)" \ - --GNATBIND=../gcc/gnatbind - ./gnatlink-static -o $@ $@.ali $^ $(ADA_INCLUDES) $(ADA_LIBS) \ - --GCC="$(GCC) $(ADA_INCLUDES)" - gnat: gnatcmd cp -lp $< $@ -gnatbind gnatchop gnatclean gnatcmd gnatfind gnatls gnatname gnatprep gnatxref: \ -link.o prefix.o +gnatbind gnatchop gnatclean gnatcmd gnatfind gnatkr gnatls gnatname gnatprep \ +gnatxref: if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \ --GCC="$(GCC)" \ @@ -253,22 +182,12 @@ ../libiberty/libiberty.a \ --GCC="$(GCC) $(ADA_INCLUDES)" -# Force compiling sdefault.adb, not .ads, to produce sdefault.o -sdefault.o: sdefault.adb - -sdefault.adb: stamp-gnattools-sources - %.o: %.adb $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES) %.o: %.ads $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES) -%.o: %.c - $(GCC) -c -o $@ $< $(CFLAGS) $(INCLUDES) - -prefix.o: - # Other # ----- Index: b/src/libgnatprj/Makefile.in =================================================================== --- /dev/null +++ b/src/libgnatprj/Makefile.in @@ -0,0 +1,178 @@ +# Makefile for libgnatprj. +# Copyright (c) 2006 Ludovic Brenta +# +# This file 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 of the License, or +# (at your option) any later version. +# +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# Default target; must be first. +all: libgnatprj + +.SUFFIXES: + +CPUS := $(shell getconf _NPROCESSORS_ONLN) +LIB_VERSION := $(strip $(shell grep ' Library_Version :' \ + @srcdir@/../gcc/ada/gnatvsn.ads | \ + sed -e 's/.*"\(.*\)".*/\1/')) +GCC:=../gcc/xgcc -B../gcc/ +LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts +LIBGNATVSN := -I../libgnatvsn +CFLAGS := -g -O2 +ADAFLAGS := -g -O2 -gnatn +BASEVER := $(shell cat @srcdir@/../gcc/BASE-VER) +DEVPHASE := $(shell cat @srcdir@/../gcc/DEV-PHASE) +DATESTAMP := $(shell cat @srcdir@/../gcc/DATESTAMP) +TOOLS_TARGET_PAIRS := @TOOLS_TARGET_PAIRS@ +LN_S := @LN_S@ + +ifneq (@build@,@host@) + CFLAGS += -b @host@ +endif + +.PHONY: libgnatprj install +libgnatprj: libgnatprj.so.$(LIB_VERSION) libgnatprj.a + +# Here we list one file per Ada unit: the body file if the unit has a +# body, the spec file otherwise. +PRJ_SOURCES := ali.adb ali-util.adb butil.adb binderr.adb errout.adb \ +erroutc.adb errutil.adb err_vars.ads fname-uf.adb fmap.adb impunit.adb \ +lib-util.adb makeutl.adb mlib.adb mlib-fil.adb mlib-tgt.adb \ +mlib-tgt-specific.adb mlib-utl.adb osint.adb osint-c.adb prj.adb prj-attr.adb \ +prj-attr-pm.adb prj-com.ads prj-conf.adb prj-dect.adb prj-env.adb prj-err.adb \ +prj-ext.adb prj-nmsc.adb prj-pars.adb prj-part.adb prj-pp.adb prj-proc.adb \ +prj-strt.adb prj-tree.adb prj-util.adb rident.ads scng.adb sfn_scan.adb \ +sinfo-cn.adb sinput-c.adb sinput-p.adb style.adb styleg.adb stylesw.adb \ +switch.adb switch-m.adb targparm.adb tempdir.adb + +# Source files generated in build/gcc/ada, not src/gcc/ada. +GENERATED_SOURCES := sdefault.adb + +SOURCES := $(PRJ_SOURCES) $(GENERATED_SOURCES) + +OBJECTS := $(patsubst %.ads,%.o,$(SOURCES:.adb=.o)) + +# Add some object files compiled from C sources. prefix.o requires +# some objects from libiberty. +OBJECTS += concat.o link.o prefix.o xexit.o xmalloc.o xstrdup.o + +vpath %.c @srcdir@/../gcc/ada + +libgnatprj.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS)) + : # Make libgnatprj.so + $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \ + -L../gcc/ada/rts -lgnat-$(LIB_VERSION) \ + -L../libgnatvsn -lgnatvsn + $(LN_S) -f libgnatprj.so.$(LIB_VERSION) libgnatprj.so + chmod a=r obj-shared/*.ali +# Make the .ali files, but not the .o files, visible to the gnat tools. + cp -lp obj-shared/*.ali . + +$(addprefix obj-shared/,$(OBJECTS)): | stamp-libgnatprj-sources obj-shared + +obj-shared/%.o: %.adb + $(GCC) -c -fPIC $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ + +obj-shared/%.o: %.ads + $(GCC) -c -fPIC $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ + +obj-shared/%.o: %.c + $(GCC) -c -fPIC $(CFLAGS) -I@srcdir@/../gcc $< -o $@ + +obj-shared/prefix.o: @srcdir@/../gcc/prefix.c + $(GCC) -c -fPIC $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \ + -I@srcdir@/../gcc -I@srcdir@/../include -I../gcc -I../libiberty \ + $< -o $@ + +obj-shared/%.o: @srcdir@/../libiberty/%.c + $(GCC) -c -fPIC $(CFLAGS) \ + -I@srcdir@/../libiberty -I@srcdir@/../include $< -o $@ + +obj-shared: + -mkdir $@ + +libgnatprj.a: $(addprefix obj-static/,$(OBJECTS)) + : # Make libgnatprj.a + ar rc $@ $^ + ranlib $@ + +$(addprefix obj-static/,$(OBJECTS)): | stamp-libgnatprj-sources obj-static + +obj-static/%.o: %.adb + $(GCC) -c $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ + +obj-static/%.o: %.ads + $(GCC) -c $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@ + +obj-static/%.o: %.c + $(GCC) -c $(CFLAGS) -I@srcdir@/../gcc $< -o $@ + +obj-static/prefix.o: @srcdir@/../gcc/prefix.c + $(GCC) -c $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \ + -I@srcdir@/../gcc -I@srcdir@/../include -I../gcc -I../libiberty \ + $< -o $@ + +obj-static/%.o: @srcdir@/../libiberty/%.c + $(GCC) -c -fPIC $(CFLAGS) \ + -I@srcdir@/../libiberty -I@srcdir@/../include $< -o $@ + +obj-static: + -mkdir $@ + +$(SOURCES): stamp-libgnatprj-sources + +stamp-libgnatprj-sources: + for file in $(PRJ_SOURCES); do \ + ads=$$(echo $$file | sed 's/\.adb/.ads/'); \ + if [ -f @srcdir@/../gcc/ada/$$file -a ! -L $$file ] ; then $(LN_S) @srcdir@/../gcc/ada/$$file .; fi; \ + if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) @srcdir@/../gcc/ada/$$ads .; fi; \ + done + for file in $(GENERATED_SOURCES); do \ + ads=$$(echo $$file | sed 's/\.adb/.ads/'); \ + if [ -f ../gcc/ada/$$file -a ! -L $$file ] ; then $(LN_S) ../gcc/ada/$$file .; fi; \ + if [ -f ../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) ../gcc/ada/$$ads .; \ + else \ + if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) @srcdir@/../gcc/ada/$$ads .; fi; \ + fi; \ + done + $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \ + rm -f $(word 1,$(subst <, ,$(PAIR)));\ + $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \ + $(word 1,$(subst <, ,$(PAIR)));) + touch $@ + +# Generate a list of source files (.ads and .adb) to install. Almost +# all of them are in src/gcc/ada, but some are generated during build +# and are in build/gcc/ada. +BODIES := $(filter %.adb,$(PRJ_SOURCES)) +SPECS := $(filter %.ads,$(PRJ_SOURCES)) $(patsubst %.adb,%.ads,$(BODIES) $(GENERATED_SOURCES)) +SOURCES_TO_INSTALL := \ +$(addprefix @srcdir@/../gcc/ada/,$(SPECS) $(BODIES)) \ +$(addprefix ../gcc/ada/,$(GENERATED_SOURCES)) + +libdir = @libdir@ + +install: libgnatprj + $(INSTALL_DATA) libgnatprj.a $(DESTDIR)$(libdir) + $(INSTALL_DATA) libgnatprj.so.$(LIB_VERSION) $(DESTDIR)$(libdir) + cd $(DESTDIR)$(libdir); ln -sf libgnatprj.so.$(LIB_VERSION) libgnatprj.so + mkdir -p $(DESTDIR)$(prefix)/share/ada/adainclude/gnatprj + $(INSTALL_DATA) $(SOURCES_TO_INSTALL) \ + $(DESTDIR)$(prefix)/share/ada/adainclude/gnatprj + mkdir -p $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj + $(INSTALL) -m 0444 obj-shared/*.ali \ + $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj + chmod a=r $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj/*.ali + +.PHONY: clean +clean: + rm -rf *.ali obj-static obj-shared libgnatprj* *.adb *.ads stamp* Index: b/src/Makefile.def =================================================================== --- a/src/Makefile.def +++ b/src/Makefile.def @@ -158,6 +158,13 @@ missing= TAGS; missing= install-info; missing= installcheck; }; +host_modules= { module= libgnatprj; no_check=true; + missing= info; + missing= dvi; + missing= html; + missing= TAGS; + missing= install-info; + missing= installcheck; }; host_modules= { module= gnattools; no_check=true; missing= info; missing= dvi; @@ -209,6 +216,13 @@ missing= TAGS; missing= install-info; missing= installcheck; }; +target_modules = { module= libgnatprj; no_check=true; + missing= info; + missing= dvi; + missing= html; + missing= TAGS; + missing= install-info; + missing= installcheck; }; target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; // These are (some of) the make targets to be done in each subdirectory. @@ -397,7 +411,10 @@ dependencies = { module=all-gnattools; on=all-libada; }; dependencies = { module=all-gnattools; on=all-libgnatvsn; }; +dependencies = { module=all-gnattools; on=all-libgnatprj; }; dependencies = { module=all-libgnatvsn; on=all-libada; }; +dependencies = { module=all-libgnatprj; on=all-libada; }; +dependencies = { module=all-libgnatprj; on=all-libgnatvsn; }; dependencies = { module=all-lto-plugin; on=all-libiberty; }; Index: b/src/Makefile.in =================================================================== --- a/src/Makefile.in +++ b/src/Makefile.in @@ -952,6 +952,7 @@ maybe-configure-utils \ maybe-configure-libada \ maybe-configure-libgnatvsn \ + maybe-configure-libgnatprj \ maybe-configure-gnattools \ maybe-configure-lto-plugin .PHONY: configure-target @@ -978,6 +979,7 @@ maybe-configure-target-rda \ maybe-configure-target-libada \ maybe-configure-target-libgnatvsn \ + maybe-configure-target-libgnatprj \ maybe-configure-target-libgomp # The target built for a native non-bootstrap build. @@ -1131,6 +1133,7 @@ all-host: maybe-all-utils all-host: maybe-all-libada all-host: maybe-all-libgnatvsn +all-host: maybe-all-libgnatprj all-host: maybe-all-gnattools @if lto-plugin-no-bootstrap all-host: maybe-all-lto-plugin @@ -1164,6 +1167,7 @@ all-target: maybe-all-target-rda all-target: maybe-all-target-libada all-target: maybe-all-target-libgnatvsn +all-target: maybe-all-target-libgnatprj @if target-libgomp-no-bootstrap all-target: maybe-all-target-libgomp @endif target-libgomp-no-bootstrap @@ -1262,6 +1266,7 @@ info-host: maybe-info-utils info-host: maybe-info-libada info-host: maybe-info-libgnatvsn +info-host: maybe-info-libgnatprj info-host: maybe-info-gnattools info-host: maybe-info-lto-plugin @@ -1289,6 +1294,7 @@ info-target: maybe-info-target-rda info-target: maybe-info-target-libada info-target: maybe-info-target-libgnatvsn +info-target: maybe-info-target-libgnatprj info-target: maybe-info-target-libgomp .PHONY: do-dvi @@ -1380,6 +1386,7 @@ dvi-host: maybe-dvi-utils dvi-host: maybe-dvi-libada dvi-host: maybe-dvi-libgnatvsn +dvi-host: maybe-dvi-libgnatprj dvi-host: maybe-dvi-gnattools dvi-host: maybe-dvi-lto-plugin @@ -1407,6 +1414,7 @@ dvi-target: maybe-dvi-target-rda dvi-target: maybe-dvi-target-libada dvi-target: maybe-dvi-target-libgnatvsn +dvi-target: maybe-dvi-target-libgnatprj dvi-target: maybe-dvi-target-libgomp .PHONY: do-pdf @@ -1498,6 +1506,7 @@ pdf-host: maybe-pdf-utils pdf-host: maybe-pdf-libada pdf-host: maybe-pdf-libgnatvsn +pdf-host: maybe-pdf-libgnatprj pdf-host: maybe-pdf-gnattools pdf-host: maybe-pdf-lto-plugin @@ -1525,6 +1534,7 @@ pdf-target: maybe-pdf-target-rda pdf-target: maybe-pdf-target-libada pdf-target: maybe-pdf-target-libgnatvsn +pdf-target: maybe-pdf-target-libgnatprj pdf-target: maybe-pdf-target-libgomp .PHONY: do-html @@ -1616,6 +1626,7 @@ html-host: maybe-html-utils html-host: maybe-html-libada html-host: maybe-html-libgnatvsn +html-host: maybe-html-libgnatprj html-host: maybe-html-gnattools html-host: maybe-html-lto-plugin @@ -1643,6 +1654,7 @@ html-target: maybe-html-target-rda html-target: maybe-html-target-libada html-target: maybe-html-target-libgnatvsn +html-target: maybe-html-target-libgnatprj html-target: maybe-html-target-libgomp .PHONY: do-TAGS @@ -1734,6 +1746,7 @@ TAGS-host: maybe-TAGS-utils TAGS-host: maybe-TAGS-libada TAGS-host: maybe-TAGS-libgnatvsn +TAGS-host: maybe-TAGS-libgnatprj TAGS-host: maybe-TAGS-gnattools TAGS-host: maybe-TAGS-lto-plugin @@ -1761,6 +1774,7 @@ TAGS-target: maybe-TAGS-target-rda TAGS-target: maybe-TAGS-target-libada TAGS-target: maybe-TAGS-target-libgnatvsn +TAGS-target: maybe-TAGS-target-libgnatprj TAGS-target: maybe-TAGS-target-libgomp .PHONY: do-install-info @@ -1852,6 +1866,7 @@ install-info-host: maybe-install-info-utils install-info-host: maybe-install-info-libada install-info-host: maybe-install-info-libgnatvsn +install-info-host: maybe-install-info-libgnatprj install-info-host: maybe-install-info-gnattools install-info-host: maybe-install-info-lto-plugin @@ -1879,6 +1894,7 @@ install-info-target: maybe-install-info-target-rda install-info-target: maybe-install-info-target-libada install-info-target: maybe-install-info-target-libgnatvsn +install-info-target: maybe-install-info-target-libgnatprj install-info-target: maybe-install-info-target-libgomp .PHONY: do-install-pdf @@ -1970,6 +1986,7 @@ install-pdf-host: maybe-install-pdf-utils install-pdf-host: maybe-install-pdf-libada install-pdf-host: maybe-install-pdf-libgnatvsn +install-pdf-host: maybe-install-pdf-libgnatprj install-pdf-host: maybe-install-pdf-gnattools install-pdf-host: maybe-install-pdf-lto-plugin @@ -1997,6 +2014,7 @@ install-pdf-target: maybe-install-pdf-target-rda install-pdf-target: maybe-install-pdf-target-libada install-pdf-target: maybe-install-pdf-target-libgnatvsn +install-pdf-target: maybe-install-pdf-target-libgnatprj install-pdf-target: maybe-install-pdf-target-libgomp .PHONY: do-install-html @@ -2088,6 +2106,7 @@ install-html-host: maybe-install-html-utils install-html-host: maybe-install-html-libada install-html-host: maybe-install-html-libgnatvsn +install-html-host: maybe-install-html-libgnatprj install-html-host: maybe-install-html-gnattools install-html-host: maybe-install-html-lto-plugin @@ -2115,6 +2134,7 @@ install-html-target: maybe-install-html-target-rda install-html-target: maybe-install-html-target-libada install-html-target: maybe-install-html-target-libgnatvsn +install-html-target: maybe-install-html-target-libgnatprj install-html-target: maybe-install-html-target-libgomp .PHONY: do-installcheck @@ -2206,6 +2226,7 @@ installcheck-host: maybe-installcheck-utils installcheck-host: maybe-installcheck-libada installcheck-host: maybe-installcheck-libgnatvsn +installcheck-host: maybe-installcheck-libgnatprj installcheck-host: maybe-installcheck-gnattools installcheck-host: maybe-installcheck-lto-plugin @@ -2233,6 +2254,7 @@ installcheck-target: maybe-installcheck-target-rda installcheck-target: maybe-installcheck-target-libada installcheck-target: maybe-installcheck-target-libgnatvsn +installcheck-target: maybe-installcheck-target-libgnatprj installcheck-target: maybe-installcheck-target-libgomp .PHONY: do-mostlyclean @@ -2324,6 +2346,7 @@ mostlyclean-host: maybe-mostlyclean-utils mostlyclean-host: maybe-mostlyclean-libada mostlyclean-host: maybe-mostlyclean-libgnatvsn +mostlyclean-host: maybe-mostlyclean-libgnatprj mostlyclean-host: maybe-mostlyclean-gnattools mostlyclean-host: maybe-mostlyclean-lto-plugin @@ -2351,6 +2374,7 @@ mostlyclean-target: maybe-mostlyclean-target-rda mostlyclean-target: maybe-mostlyclean-target-libada mostlyclean-target: maybe-mostlyclean-target-libgnatvsn +mostlyclean-target: maybe-mostlyclean-target-libgnatprj mostlyclean-target: maybe-mostlyclean-target-libgomp .PHONY: do-clean @@ -2442,6 +2466,7 @@ clean-host: maybe-clean-utils clean-host: maybe-clean-libada clean-host: maybe-clean-libgnatvsn +clean-host: maybe-clean-libgnatprj clean-host: maybe-clean-gnattools clean-host: maybe-clean-lto-plugin @@ -2469,6 +2494,7 @@ clean-target: maybe-clean-target-rda clean-target: maybe-clean-target-libada clean-target: maybe-clean-target-libgnatvsn +clean-target: maybe-clean-target-libgnatprj clean-target: maybe-clean-target-libgomp .PHONY: do-distclean @@ -2560,6 +2586,7 @@ distclean-host: maybe-distclean-utils distclean-host: maybe-distclean-libada distclean-host: maybe-distclean-libgnatvsn +distclean-host: maybe-distclean-libgnatprj distclean-host: maybe-distclean-gnattools distclean-host: maybe-distclean-lto-plugin @@ -2587,6 +2614,7 @@ distclean-target: maybe-distclean-target-rda distclean-target: maybe-distclean-target-libada distclean-target: maybe-distclean-target-libgnatvsn +distclean-target: maybe-distclean-target-libgnatprj distclean-target: maybe-distclean-target-libgomp .PHONY: do-maintainer-clean @@ -2678,6 +2706,7 @@ maintainer-clean-host: maybe-maintainer-clean-utils maintainer-clean-host: maybe-maintainer-clean-libada maintainer-clean-host: maybe-maintainer-clean-libgnatvsn +maintainer-clean-host: maybe-maintainer-clean-libgnatprj maintainer-clean-host: maybe-maintainer-clean-gnattools maintainer-clean-host: maybe-maintainer-clean-lto-plugin @@ -2705,6 +2734,7 @@ maintainer-clean-target: maybe-maintainer-clean-target-rda maintainer-clean-target: maybe-maintainer-clean-target-libada maintainer-clean-target: maybe-maintainer-clean-target-libgnatvsn +maintainer-clean-target: maybe-maintainer-clean-target-libgnatprj maintainer-clean-target: maybe-maintainer-clean-target-libgomp @@ -2851,6 +2881,7 @@ maybe-check-utils \ maybe-check-libada \ maybe-check-libgnatvsn \ + maybe-check-libgnatprj \ maybe-check-gnattools \ maybe-check-lto-plugin @@ -2878,6 +2909,7 @@ maybe-check-target-rda \ maybe-check-target-libada \ maybe-check-target-libgnatvsn \ + maybe-check-target-libgnatprj \ maybe-check-target-libgomp do-check: @@ -2995,6 +3027,7 @@ maybe-install-utils \ maybe-install-libada \ maybe-install-libgnatvsn \ + maybe-install-libgnatprj \ maybe-install-gnattools \ maybe-install-lto-plugin @@ -3078,6 +3111,7 @@ maybe-install-utils \ maybe-install-libada \ maybe-install-libgnatvsn \ + maybe-install-libgnatprj \ maybe-install-gnattools \ maybe-install-lto-plugin @@ -3105,6 +3139,7 @@ maybe-install-target-rda \ maybe-install-target-libada \ maybe-install-target-libgnatvsn \ + maybe-install-target-libgnatprj \ maybe-install-target-libgomp uninstall: @@ -3215,6 +3250,7 @@ maybe-install-strip-utils \ maybe-install-strip-libada \ maybe-install-strip-libgnatvsn \ + maybe-install-strip-libgnatprj \ maybe-install-strip-gnattools \ maybe-install-strip-lto-plugin @@ -3242,6 +3278,7 @@ maybe-install-strip-target-rda \ maybe-install-strip-target-libada \ maybe-install-strip-target-libgnatvsn \ + maybe-install-strip-target-libgnatprj \ maybe-install-strip-target-libgomp @@ -45484,6 +45521,343 @@ +.PHONY: configure-libgnatprj maybe-configure-libgnatprj +maybe-configure-libgnatprj: +@if gcc-bootstrap +configure-libgnatprj: stage_current +@endif gcc-bootstrap +@if libgnatprj +maybe-configure-libgnatprj: configure-libgnatprj +configure-libgnatprj: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + test ! -f $(HOST_SUBDIR)/libgnatprj/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgnatprj ; \ + $(HOST_EXPORTS) \ + echo Configuring in $(HOST_SUBDIR)/libgnatprj; \ + cd "$(HOST_SUBDIR)/libgnatprj" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libgnatprj/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/libgnatprj"; \ + libsrcdir="$$s/libgnatprj"; \ + $(SHELL) $${libsrcdir}/configure \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} $${srcdiroption} \ + || exit 1 +@endif libgnatprj + + + + + +.PHONY: all-libgnatprj maybe-all-libgnatprj +maybe-all-libgnatprj: +@if gcc-bootstrap +all-libgnatprj: stage_current +@endif gcc-bootstrap +@if libgnatprj +TARGET-libgnatprj=all +maybe-all-libgnatprj: all-libgnatprj +all-libgnatprj: configure-libgnatprj + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \ + $(TARGET-libgnatprj)) +@endif libgnatprj + + + + +.PHONY: check-libgnatprj maybe-check-libgnatprj +maybe-check-libgnatprj: +@if libgnatprj +maybe-check-libgnatprj: check-libgnatprj + +check-libgnatprj: + +@endif libgnatprj + +.PHONY: install-libgnatprj maybe-install-libgnatprj +maybe-install-libgnatprj: +@if libgnatprj +maybe-install-libgnatprj: install-libgnatprj + +install-libgnatprj: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(FLAGS_TO_PASS) install) + +@endif libgnatprj + +.PHONY: install-strip-libgnatprj maybe-install-strip-libgnatprj +maybe-install-strip-libgnatprj: +@if libgnatprj +maybe-install-strip-libgnatprj: install-strip-libgnatprj + +install-strip-libgnatprj: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(FLAGS_TO_PASS) install-strip) + +@endif libgnatprj + +# Other targets (info, dvi, pdf, etc.) + +.PHONY: maybe-info-libgnatprj info-libgnatprj +maybe-info-libgnatprj: +@if libgnatprj +maybe-info-libgnatprj: info-libgnatprj + +# libgnatprj doesn't support info. +info-libgnatprj: + +@endif libgnatprj + +.PHONY: maybe-dvi-libgnatprj dvi-libgnatprj +maybe-dvi-libgnatprj: +@if libgnatprj +maybe-dvi-libgnatprj: dvi-libgnatprj + +# libgnatprj doesn't support dvi. +dvi-libgnatprj: + +@endif libgnatprj + +.PHONY: maybe-pdf-libgnatprj pdf-libgnatprj +maybe-pdf-libgnatprj: +@if libgnatprj +maybe-pdf-libgnatprj: pdf-libgnatprj + +pdf-libgnatprj: \ + configure-libgnatprj + @: $(MAKE); $(unstage) + @[ -f ./libgnatprj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing pdf in libgnatprj" ; \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + pdf) \ + || exit 1 + +@endif libgnatprj + +.PHONY: maybe-html-libgnatprj html-libgnatprj +maybe-html-libgnatprj: +@if libgnatprj +maybe-html-libgnatprj: html-libgnatprj + +# libgnatprj doesn't support html. +html-libgnatprj: + +@endif libgnatprj + +.PHONY: maybe-TAGS-libgnatprj TAGS-libgnatprj +maybe-TAGS-libgnatprj: +@if libgnatprj +maybe-TAGS-libgnatprj: TAGS-libgnatprj + +# libgnatprj doesn't support TAGS. +TAGS-libgnatprj: + +@endif libgnatprj + +.PHONY: maybe-install-info-libgnatprj install-info-libgnatprj +maybe-install-info-libgnatprj: +@if libgnatprj +maybe-install-info-libgnatprj: install-info-libgnatprj + +# libgnatprj doesn't support install-info. +install-info-libgnatprj: + +@endif libgnatprj + +.PHONY: maybe-install-pdf-libgnatprj install-pdf-libgnatprj +maybe-install-pdf-libgnatprj: +@if libgnatprj +maybe-install-pdf-libgnatprj: install-pdf-libgnatprj + +install-pdf-libgnatprj: \ + configure-libgnatprj \ + pdf-libgnatprj + @: $(MAKE); $(unstage) + @[ -f ./libgnatprj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-pdf in libgnatprj" ; \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-pdf) \ + || exit 1 + +@endif libgnatprj + +.PHONY: maybe-install-html-libgnatprj install-html-libgnatprj +maybe-install-html-libgnatprj: +@if libgnatprj +maybe-install-html-libgnatprj: install-html-libgnatprj + +install-html-libgnatprj: \ + configure-libgnatprj \ + html-libgnatprj + @: $(MAKE); $(unstage) + @[ -f ./libgnatprj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-html in libgnatprj" ; \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-html) \ + || exit 1 + +@endif libgnatprj + +.PHONY: maybe-installcheck-libgnatprj installcheck-libgnatprj +maybe-installcheck-libgnatprj: +@if libgnatprj +maybe-installcheck-libgnatprj: installcheck-libgnatprj + +# libgnatprj doesn't support installcheck. +installcheck-libgnatprj: + +@endif libgnatprj + +.PHONY: maybe-mostlyclean-libgnatprj mostlyclean-libgnatprj +maybe-mostlyclean-libgnatprj: +@if libgnatprj +maybe-mostlyclean-libgnatprj: mostlyclean-libgnatprj + +mostlyclean-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f ./libgnatprj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in libgnatprj" ; \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + mostlyclean) \ + || exit 1 + +@endif libgnatprj + +.PHONY: maybe-clean-libgnatprj clean-libgnatprj +maybe-clean-libgnatprj: +@if libgnatprj +maybe-clean-libgnatprj: clean-libgnatprj + +clean-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f ./libgnatprj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in libgnatprj" ; \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + clean) \ + || exit 1 + +@endif libgnatprj + +.PHONY: maybe-distclean-libgnatprj distclean-libgnatprj +maybe-distclean-libgnatprj: +@if libgnatprj +maybe-distclean-libgnatprj: distclean-libgnatprj + +distclean-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f ./libgnatprj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in libgnatprj" ; \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + distclean) \ + || exit 1 + +@endif libgnatprj + +.PHONY: maybe-maintainer-clean-libgnatprj maintainer-clean-libgnatprj +maybe-maintainer-clean-libgnatprj: +@if libgnatprj +maybe-maintainer-clean-libgnatprj: maintainer-clean-libgnatprj + +maintainer-clean-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f ./libgnatprj/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in libgnatprj" ; \ + (cd $(HOST_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + maintainer-clean) \ + || exit 1 + +@endif libgnatprj + + + .PHONY: configure-gnattools maybe-configure-gnattools maybe-configure-gnattools: @if gcc-bootstrap @@ -57517,6 +57891,361 @@ +.PHONY: configure-target-libgnatprj maybe-configure-target-libgnatprj +maybe-configure-target-libgnatprj: +@if gcc-bootstrap +configure-target-libgnatprj: stage_current +@endif gcc-bootstrap +@if target-libgnatprj +maybe-configure-target-libgnatprj: configure-target-libgnatprj +configure-target-libgnatprj: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + echo "Checking multilib configuration for libgnatprj..."; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatprj ; \ + $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgnatprj/multilib.tmp 2> /dev/null ; \ + if test -r $(TARGET_SUBDIR)/libgnatprj/multilib.out; then \ + if cmp -s $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; then \ + rm -f $(TARGET_SUBDIR)/libgnatprj/multilib.tmp; \ + else \ + rm -f $(TARGET_SUBDIR)/libgnatprj/Makefile; \ + mv $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; \ + fi; \ + else \ + mv $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; \ + fi; \ + test ! -f $(TARGET_SUBDIR)/libgnatprj/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatprj ; \ + $(NORMAL_TARGET_EXPORTS) \ + echo Configuring in $(TARGET_SUBDIR)/libgnatprj; \ + cd "$(TARGET_SUBDIR)/libgnatprj" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(TARGET_SUBDIR)/libgnatprj/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + srcdiroption="--srcdir=$${topdir}/libgnatprj"; \ + libsrcdir="$$s/libgnatprj"; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \ + $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ + --target=${target_alias} $${srcdiroption} \ + || exit 1 +@endif target-libgnatprj + + + + + +.PHONY: all-target-libgnatprj maybe-all-target-libgnatprj +maybe-all-target-libgnatprj: +@if gcc-bootstrap +all-target-libgnatprj: stage_current +@endif gcc-bootstrap +@if target-libgnatprj +TARGET-target-libgnatprj=all +maybe-all-target-libgnatprj: all-target-libgnatprj +all-target-libgnatprj: configure-target-libgnatprj + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \ + $(TARGET-target-libgnatprj)) +@endif target-libgnatprj + + + + + +.PHONY: check-target-libgnatprj maybe-check-target-libgnatprj +maybe-check-target-libgnatprj: +@if target-libgnatprj +maybe-check-target-libgnatprj: check-target-libgnatprj + +# Dummy target for uncheckable module. +check-target-libgnatprj: + +@endif target-libgnatprj + +.PHONY: install-target-libgnatprj maybe-install-target-libgnatprj +maybe-install-target-libgnatprj: +@if target-libgnatprj +maybe-install-target-libgnatprj: install-target-libgnatprj + +install-target-libgnatprj: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + +@endif target-libgnatprj + +.PHONY: install-strip-target-libgnatprj maybe-install-strip-target-libgnatprj +maybe-install-strip-target-libgnatprj: +@if target-libgnatprj +maybe-install-strip-target-libgnatprj: install-strip-target-libgnatprj + +install-strip-target-libgnatprj: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) + +@endif target-libgnatprj + +# Other targets (info, dvi, pdf, etc.) + +.PHONY: maybe-info-target-libgnatprj info-target-libgnatprj +maybe-info-target-libgnatprj: +@if target-libgnatprj +maybe-info-target-libgnatprj: info-target-libgnatprj + +# libgnatprj doesn't support info. +info-target-libgnatprj: + +@endif target-libgnatprj + +.PHONY: maybe-dvi-target-libgnatprj dvi-target-libgnatprj +maybe-dvi-target-libgnatprj: +@if target-libgnatprj +maybe-dvi-target-libgnatprj: dvi-target-libgnatprj + +# libgnatprj doesn't support dvi. +dvi-target-libgnatprj: + +@endif target-libgnatprj + +.PHONY: maybe-pdf-target-libgnatprj pdf-target-libgnatprj +maybe-pdf-target-libgnatprj: +@if target-libgnatprj +maybe-pdf-target-libgnatprj: pdf-target-libgnatprj + +pdf-target-libgnatprj: \ + configure-target-libgnatprj + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing pdf in $(TARGET_SUBDIR)/libgnatprj" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + pdf) \ + || exit 1 + +@endif target-libgnatprj + +.PHONY: maybe-html-target-libgnatprj html-target-libgnatprj +maybe-html-target-libgnatprj: +@if target-libgnatprj +maybe-html-target-libgnatprj: html-target-libgnatprj + +# libgnatprj doesn't support html. +html-target-libgnatprj: + +@endif target-libgnatprj + +.PHONY: maybe-TAGS-target-libgnatprj TAGS-target-libgnatprj +maybe-TAGS-target-libgnatprj: +@if target-libgnatprj +maybe-TAGS-target-libgnatprj: TAGS-target-libgnatprj + +# libgnatprj doesn't support TAGS. +TAGS-target-libgnatprj: + +@endif target-libgnatprj + +.PHONY: maybe-install-info-target-libgnatprj install-info-target-libgnatprj +maybe-install-info-target-libgnatprj: +@if target-libgnatprj +maybe-install-info-target-libgnatprj: install-info-target-libgnatprj + +# libgnatprj doesn't support install-info. +install-info-target-libgnatprj: + +@endif target-libgnatprj + +.PHONY: maybe-install-pdf-target-libgnatprj install-pdf-target-libgnatprj +maybe-install-pdf-target-libgnatprj: +@if target-libgnatprj +maybe-install-pdf-target-libgnatprj: install-pdf-target-libgnatprj + +install-pdf-target-libgnatprj: \ + configure-target-libgnatprj \ + pdf-target-libgnatprj + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-pdf in $(TARGET_SUBDIR)/libgnatprj" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-pdf) \ + || exit 1 + +@endif target-libgnatprj + +.PHONY: maybe-install-html-target-libgnatprj install-html-target-libgnatprj +maybe-install-html-target-libgnatprj: +@if target-libgnatprj +maybe-install-html-target-libgnatprj: install-html-target-libgnatprj + +install-html-target-libgnatprj: \ + configure-target-libgnatprj \ + html-target-libgnatprj + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-html in $(TARGET_SUBDIR)/libgnatprj" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-html) \ + || exit 1 + +@endif target-libgnatprj + +.PHONY: maybe-installcheck-target-libgnatprj installcheck-target-libgnatprj +maybe-installcheck-target-libgnatprj: +@if target-libgnatprj +maybe-installcheck-target-libgnatprj: installcheck-target-libgnatprj + +# libgnatprj doesn't support installcheck. +installcheck-target-libgnatprj: + +@endif target-libgnatprj + +.PHONY: maybe-mostlyclean-target-libgnatprj mostlyclean-target-libgnatprj +maybe-mostlyclean-target-libgnatprj: +@if target-libgnatprj +maybe-mostlyclean-target-libgnatprj: mostlyclean-target-libgnatprj + +mostlyclean-target-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgnatprj" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + mostlyclean) \ + || exit 1 + +@endif target-libgnatprj + +.PHONY: maybe-clean-target-libgnatprj clean-target-libgnatprj +maybe-clean-target-libgnatprj: +@if target-libgnatprj +maybe-clean-target-libgnatprj: clean-target-libgnatprj + +clean-target-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing clean in $(TARGET_SUBDIR)/libgnatprj" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + clean) \ + || exit 1 + +@endif target-libgnatprj + +.PHONY: maybe-distclean-target-libgnatprj distclean-target-libgnatprj +maybe-distclean-target-libgnatprj: +@if target-libgnatprj +maybe-distclean-target-libgnatprj: distclean-target-libgnatprj + +distclean-target-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libgnatprj" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + distclean) \ + || exit 1 + +@endif target-libgnatprj + +.PHONY: maybe-maintainer-clean-target-libgnatprj maintainer-clean-target-libgnatprj +maybe-maintainer-clean-target-libgnatprj: +@if target-libgnatprj +maybe-maintainer-clean-target-libgnatprj: maintainer-clean-target-libgnatprj + +maintainer-clean-target-libgnatprj: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgnatprj" ; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgnatprj && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + maintainer-clean) \ + || exit 1 + +@endif target-libgnatprj + + + + + .PHONY: configure-target-libgomp maybe-configure-target-libgomp maybe-configure-target-libgomp: @if gcc-bootstrap @@ -60580,6 +61309,7 @@ configure-target-rda: stage_last configure-target-libada: stage_last configure-target-libgnatvsn: stage_last +configure-target-libgnatprj: stage_last configure-stage1-target-libgomp: maybe-all-stage1-gcc configure-stage2-target-libgomp: maybe-all-stage2-gcc configure-stage3-target-libgomp: maybe-all-stage3-gcc @@ -60611,6 +61341,7 @@ configure-target-rda: maybe-all-gcc configure-target-libada: maybe-all-gcc configure-target-libgnatvsn: maybe-all-gcc +configure-target-libgnatprj: maybe-all-gcc configure-target-libgomp: maybe-all-gcc @endif gcc-no-bootstrap @@ -60913,7 +61644,10 @@ all-fixincludes: maybe-all-libiberty all-gnattools: maybe-all-libada all-gnattools: maybe-all-libgnatvsn +all-gnattools: maybe-all-libgnatprj all-libgnatvsn: maybe-all-libada +all-libgnatprj: maybe-all-libada +all-libgnatprj: maybe-all-libgnatvsn all-lto-plugin: maybe-all-libiberty all-stage1-lto-plugin: maybe-all-stage1-libiberty @@ -61452,6 +62186,7 @@ configure-target-rda: maybe-all-target-libgcc configure-target-libada: maybe-all-target-libgcc configure-target-libgnatvsn: maybe-all-target-libgcc +configure-target-libgnatprj: maybe-all-target-libgcc configure-target-libgomp: maybe-all-target-libgcc @endif gcc-no-bootstrap @@ -61499,6 +62234,8 @@ configure-target-libgnatvsn: maybe-all-target-newlib maybe-all-target-libgloss +configure-target-libgnatprj: maybe-all-target-newlib maybe-all-target-libgloss + configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss Index: b/src/configure.ac =================================================================== --- a/src/configure.ac +++ b/src/configure.ac @@ -168,7 +168,7 @@ # these libraries are used by various programs built for the host environment # -host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv libada libgnatvsn" +host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv libada libgnatvsn libgnatprj" # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -201,6 +201,7 @@ target-libobjc \ target-libada \ target-libgnatvsn \ + target-libgnatprj \ target-libgo" # these tools are built using the target libraries, and are intended to @@ -302,7 +303,7 @@ # Similarly, some are only suitable for cross toolchains. # Remove these if host=target. -cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn" +cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn target-libgnatprj" case $is_cross_compiler in no) skipdirs="${skipdirs} ${cross_only}" ;; @@ -486,7 +487,7 @@ ENABLE_LIBADA=$enableval, ENABLE_LIBADA=yes) if test "${ENABLE_LIBADA}" != "yes" ; then - noconfigdirs="$noconfigdirs libgnatvsn gnattools" + noconfigdirs="$noconfigdirs libgnatvsn libgnatprj gnattools" fi AC_ARG_ENABLE(libssp, Index: b/src/libgnatprj/configure.ac =================================================================== --- /dev/null +++ b/src/libgnatprj/configure.ac @@ -0,0 +1,150 @@ +# Configure script for libada. +# Copyright 2003, 2004 Free Software Foundation, Inc. +# +# This file 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 of the License, or +# (at your option) any later version. +# +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +AC_INIT +AC_PREREQ([2.59]) + +AC_CONFIG_SRCDIR([Makefile.in]) + +# Start of actual configure tests + +AC_PROG_INSTALL + +AC_CANONICAL_BUILD +AC_CANONICAL_HOST +AC_CANONICAL_TARGET + +sinclude(../config/acx.m4) +ACX_NONCANONICAL_TARGET + +# Need to pass this down for now :-P +AC_PROG_LN_S + +# Determine x_ada_cflags +case $host in + hppa*) x_ada_cflags=-mdisable-indexing ;; + *) x_ada_cflags= ;; +esac +AC_SUBST([x_ada_cflags]) + +# Determine what to build for 'gnattools' +if test $build = $target ; then + # Note that build=target is almost certainly the wrong test; FIXME + default_gnattools_target="gnattools-native" +else + default_gnattools_target="gnattools-cross" +fi +AC_SUBST([default_gnattools_target]) + +# Target-specific stuff (defaults) +TOOLS_TARGET_PAIRS= +AC_SUBST(TOOLS_TARGET_PAIRS) + +# Per-target case statement +# ---/---------------------- +case "${target}" in + alpha*-dec-vx*) # Unlike all other Vxworks + ;; + m68k*-wrs-vx* \ + | powerpc*-wrs-vxworks \ + | sparc*-wrs-vx* \ + | *86-wrs-vxworks \ + | xscale*-wrs-vx* \ + | xscale*-wrs-coff \ + | mips*-wrs-vx*) + TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb