head	1.3;
access;
symbols
	pkgsrc-2022Q3:1.2.0.68
	pkgsrc-2022Q3-base:1.2
	pkgsrc-2022Q2:1.2.0.66
	pkgsrc-2022Q2-base:1.2
	pkgsrc-2022Q1:1.2.0.64
	pkgsrc-2022Q1-base:1.2
	pkgsrc-2021Q4:1.2.0.62
	pkgsrc-2021Q4-base:1.2
	pkgsrc-2021Q3:1.2.0.60
	pkgsrc-2021Q3-base:1.2
	pkgsrc-2021Q2:1.2.0.58
	pkgsrc-2021Q2-base:1.2
	pkgsrc-2021Q1:1.2.0.56
	pkgsrc-2021Q1-base:1.2
	pkgsrc-2020Q4:1.2.0.54
	pkgsrc-2020Q4-base:1.2
	pkgsrc-2020Q3:1.2.0.52
	pkgsrc-2020Q3-base:1.2
	pkgsrc-2020Q2:1.2.0.48
	pkgsrc-2020Q2-base:1.2
	pkgsrc-2020Q1:1.2.0.28
	pkgsrc-2020Q1-base:1.2
	pkgsrc-2019Q4:1.2.0.50
	pkgsrc-2019Q4-base:1.2
	pkgsrc-2019Q3:1.2.0.46
	pkgsrc-2019Q3-base:1.2
	pkgsrc-2019Q2:1.2.0.44
	pkgsrc-2019Q2-base:1.2
	pkgsrc-2019Q1:1.2.0.42
	pkgsrc-2019Q1-base:1.2
	pkgsrc-2018Q4:1.2.0.40
	pkgsrc-2018Q4-base:1.2
	pkgsrc-2018Q3:1.2.0.38
	pkgsrc-2018Q3-base:1.2
	pkgsrc-2018Q2:1.2.0.36
	pkgsrc-2018Q2-base:1.2
	pkgsrc-2018Q1:1.2.0.34
	pkgsrc-2018Q1-base:1.2
	pkgsrc-2017Q4:1.2.0.32
	pkgsrc-2017Q4-base:1.2
	pkgsrc-2017Q3:1.2.0.30
	pkgsrc-2017Q3-base:1.2
	pkgsrc-2017Q2:1.2.0.26
	pkgsrc-2017Q2-base:1.2
	pkgsrc-2017Q1:1.2.0.24
	pkgsrc-2017Q1-base:1.2
	pkgsrc-2016Q4:1.2.0.22
	pkgsrc-2016Q4-base:1.2
	pkgsrc-2016Q3:1.2.0.20
	pkgsrc-2016Q3-base:1.2
	pkgsrc-2016Q2:1.2.0.18
	pkgsrc-2016Q2-base:1.2
	pkgsrc-2016Q1:1.2.0.16
	pkgsrc-2016Q1-base:1.2
	pkgsrc-2015Q4:1.2.0.14
	pkgsrc-2015Q4-base:1.2
	pkgsrc-2015Q3:1.2.0.12
	pkgsrc-2015Q3-base:1.2
	pkgsrc-2015Q2:1.2.0.10
	pkgsrc-2015Q2-base:1.2
	pkgsrc-2015Q1:1.2.0.8
	pkgsrc-2015Q1-base:1.2
	pkgsrc-2014Q4:1.2.0.6
	pkgsrc-2014Q4-base:1.2
	pkgsrc-2014Q3:1.2.0.4
	pkgsrc-2014Q3-base:1.2
	pkgsrc-2014Q2:1.2.0.2
	pkgsrc-2014Q2-base:1.2;
locks; strict;
comment	@# @;


1.3
date	2022.12.21.14.09.18;	author wiz;	state dead;
branches;
next	1.2;
commitid	OSojxMtfm8xuOq6E;

1.2
date	2014.05.09.11.47.05;	author marino;	state Exp;
branches;
next	1.1;
commitid	WktHEg4zsTEzdRzx;

1.1
date	2014.04.30.16.25.21;	author marino;	state Exp;
branches;
next	;
commitid	4nIee0AclWOX2Jyx;


desc
@@


1.3
log
@gnat_util: remove

This was scheduled removal in 2017, finally do it.
@
text
@# To avoid a cirular dependency with GPRBuild, this custom BSD Makefile is
# used instead of the provided asis.gpr file.

CP=cp -p
MKDIR=mkdir -p
SRC=gen_src
ADA_FLAGS=	-O2 -gnatn -gnatws -gnat05
C_FLAGS=	-O2
ADB_SRCS!=	cd ${.CURDIR} && ls *.adb | sort -r
GEN_SRCS=	sdefault.adb snames.adb xsnamest.adb
ADS_SRCS=	rident.ads hostparm.ads err_vars.ads alloc.ads prj-com.ads
LIB_SRCS+=	link.c ${GEN_SRCS} ${ADS_SRCS} ${ADB_SRCS:Nlib-*.adb}
LIB_OBJS=	${LIB_SRCS:R:S/$/.o/}

.PHONY: all
.PHONY: generate_sources
.PHONY: libgnat_util.a
.PHONY: install
.PHONY: clean

all: libgnat_util.a

generate_sources:
	(cd ${.CURDIR} && ${MKDIR} ${SRC} lib)
	${CP} ${.CURDIR}/sdefault_adb.gnat_util ${.CURDIR}/${SRC}/sdefault.adb
	(cd ${.CURDIR} && ${CP} \
	    xsnamest.adb xutil.* snames.adb-tmpl snames.ads-tmpl \
	    snames.h-tmpl ${SRC})
	(cd ${.CURDIR}/${SRC} && \
	   gnatmake -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
	   ./xsnamest && mv snames.ns snames.ads && mv snames.nb snames.adb)

${LIB_OBJS}: generate_sources

install:
	${MKDIR} ${DESTDIR}${PREFIX}/lib/gnat
	${MKDIR} ${DESTDIR}${PREFIX}/lib/gnat_util
	${MKDIR} ${DESTDIR}${PREFIX}/include/gnat_util

	${BSD_INSTALL_DATA} ../gnat_util.gpr ${DESTDIR}${PREFIX}/lib/gnat
	find ../lib -type f -exec $(BSD_INSTALL_DATA) {} \
		${DESTDIR}${PREFIX}/lib/gnat_util \;
	find ../* -name \*\.ad\[bs\] -exec $(BSD_INSTALL_DATA) {} \
		${DESTDIR}${PREFIX}/include/gnat_util \;

clean:
	rm -f ${.OBJDIR}/*
	rm -f ${.CURDIR}/lib/*
	rm -rf ${.CURDIR}/${SRC}

.SUFFIXES: .adb .ads .c .o

.adb.o:
	ada ${ADA_FLAGS} -I../ -I../${SRC} -c ../${.TARGET:R}.adb

.c.o:
	${CC} ${C_FLAGS} -c ../${.TARGET:R}.c

${ADS_SRCS:R:S/$/.o/}:
	ada ${ADA_FLAGS} -I../${SRC} -c ../${.TARGET:R}.ads

${GEN_SRCS:R:S/$/.o/}:
	ada ${ADA_FLAGS} -I../ -c ../${SRC}/${.TARGET:R}.adb

libgnat_util.a: ${LIB_OBJS}
	ar cq ${.TARGET} `lorder ${LIB_OBJS} | tsort`
	ranlib ${.TARGET}
	mv ${.TARGET} *.ali ../lib
@


1.2
log
@lang/gnat_util: Don't silence tsort for sake of SunOS support

The native tsort on SunOS apparently doesn't understand the -q switch.
@
text
@@


1.1
log
@Add new source package: lang/gnat_util

Several tools are built with GNAT sources and they have to be the
exact source that built the Ada compiler that builds the tool.  To
ensure this, a common trick to the create a library with those sources
and link the library instead of using the embedded source files which
never match the FSF compiler properly.  The first tool this new
gcc 4.9.0-based library will be used for is devel/gprbuild-aux
@
text
@d66 1
a66 1
	ar cq ${.TARGET} `lorder ${LIB_OBJS} | tsort -q`
@

