mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
a68: support for Algol 68 code in libga68 and initial transput
Most of the standard prelude is implemented in a combination of code
lowered by the front-end (standard operators, contants, etc) and
functions provided by the libga68 run-time library, to which the
former libcalls. Until now, all the support routines in libga68 were
written in C. However, many of the transput facilities are better
implemented in Algol 68.
The Revised Report includes a reference implementation (code listing)
of many of the standard routines. This implementation, however, makes
use of an "extended" program notation in order to denote certain
notions to avoid repetitive code. Therefore this commit includes
sppp, a build-time pre-processor written in awk that is only intended
to be used internally by the libga68 run-time library. This
preprocessor allows us to write code like:
proc subwhole = (Number v, int width) string:
case v in
{iter L {short short} {short} {} {long} {long long}}
{iter S {LENG LENG} {LENG} {} {SHORTEN} {SHORTEN SHORTEN}}
({L} int x):
begin string s, {L} int n := x;
while dig_char ({S} (n MOD {L} 10)) +=: s;
n %:= {L} 10; n /= {L} 0
do ~ od;
(UPB s > width | width * errorchar | s)
end
{reti {,}}
esac;
Resulting in cases for short short int, short int, int, long int and
long long int being macro-expanded in the routine's conformance
clause.
This commit also adds the necessary infrastructure for writing Algol
68 code in the libga68 library, including the ability of having
modules exported by libga68. An implementation of some of the
transput routines is also provided in standard.a68: whole, fixed,
float, string_to_L_real, char_in_string, L_int_width, L_real_width and
L_exp_with.
The build system changes include the backport of the Automake Algol 68
support, which is in a released version of Automake but not in the
version used for GCC, to libga68/m4/autoconf.m4.
Signed-off-by: Jose E. Marchesi <jemarch@gnu.org>
ChangeLog
* Makefile.def (flags_to_pass): Rename GA68, GA68FLAGS,
GA68_FOR_TARGET, GA68FLAGS_FOR_TARGET to A68, A68FLAGS,
A68_FOR_TARGET and A68FLAGS_FOR_TARGET.
* Makefile.tpl: Use A68, A68FLAGS, A68_FOR_BUILD and
A68_FOR_TARGET rather than GA68, GA68FLAGS, GA68_FOR_BUILD and
GA68_FOR_TARGET.
* Makefile.in: Regenerate.
* configure.ac: Set A68_FOR_BUILD rather than GA68_FOR_BUILD, and
invoke ACX_PROG_A68 rather than ACX_PROG_GA68.
Subst A68_FOR_BUILD rather than GA68_FOR_BUILD.
Subst A68 and A68FLAGS rather than GA68 and GA68FLAGS.
Set A68_FOR_TARGET rather than GA68_FOR_TARGET.
* configure: Regenerate.
* config-ml.in: Handle A68FLAGS and define A68 in sub-configures.
config/ChangeLog
* acx.m4: Define ACX_PROG_A68 rather than ACX_PROG_GA68.
(ACX_PROG_A68): Set A68 rather than GA68.
gcc/algol68/ChangeLog
* a68-lang.cc (a68_init_options): Add an entry to A68_MODULE_FILES
to map module Transput to the basename ga68.
gcc/testsuite/ChangeLog
* algol68/execute/char-in-string-1.a68: New test.
libga68/ChangeLog
* m4/autoconf.m4: New file.
* configure.ac: Expand AC_PROG_A68.
* configure: Regenerate.
* Makefile.am: Add rules to build Algol 68 sources and to
build the transput module.
* Makefile.in: Regenerate.
* acinclude.m4: Include m4/autoconf.m4.
* sppp.awk: New file.
* transput.a68.in: Likewise.
This commit is contained in:
@@ -314,8 +314,8 @@ flags_to_pass = { flag= GNATBIND ; };
|
|||||||
flags_to_pass = { flag= GNATMAKE ; };
|
flags_to_pass = { flag= GNATMAKE ; };
|
||||||
flags_to_pass = { flag= GDC ; };
|
flags_to_pass = { flag= GDC ; };
|
||||||
flags_to_pass = { flag= GDCFLAGS ; };
|
flags_to_pass = { flag= GDCFLAGS ; };
|
||||||
flags_to_pass = { flag= GA68 ; };
|
flags_to_pass = { flag= A68 ; };
|
||||||
flags_to_pass = { flag= GA68FLAGS ; };
|
flags_to_pass = { flag= A68FLAGS ; };
|
||||||
|
|
||||||
// Target tools
|
// Target tools
|
||||||
flags_to_pass = { flag= AR_FOR_TARGET ; };
|
flags_to_pass = { flag= AR_FOR_TARGET ; };
|
||||||
@@ -332,8 +332,8 @@ flags_to_pass = { flag= GOC_FOR_TARGET ; };
|
|||||||
flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
|
flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
|
||||||
flags_to_pass = { flag= GDC_FOR_TARGET ; };
|
flags_to_pass = { flag= GDC_FOR_TARGET ; };
|
||||||
flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
|
flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
|
||||||
flags_to_pass = { flag= GA68_FOR_TARGET ; };
|
flags_to_pass = { flag= A68_FOR_TARGET ; };
|
||||||
flags_to_pass = { flag= GA68FLAGS_FOR_TARGET ; };
|
flags_to_pass = { flag= A68FLAGS_FOR_TARGET ; };
|
||||||
flags_to_pass = { flag= GM2_FOR_TARGET ; };
|
flags_to_pass = { flag= GM2_FOR_TARGET ; };
|
||||||
flags_to_pass = { flag= GM2FLAGS_FOR_TARGET ; };
|
flags_to_pass = { flag= GM2FLAGS_FOR_TARGET ; };
|
||||||
flags_to_pass = { flag= LD_FOR_TARGET ; };
|
flags_to_pass = { flag= LD_FOR_TARGET ; };
|
||||||
|
|||||||
42
Makefile.in
42
Makefile.in
@@ -160,8 +160,8 @@ BUILD_EXPORTS = \
|
|||||||
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
||||||
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
||||||
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
||||||
GA68="$(GA68_FOR_BUILD)"; export GA68; \
|
A68="$(A68_FOR_BUILD)"; export A68; \
|
||||||
GA68FLAGS="$(GA68FLAGS_FOR_BUILD)"; export GA68FLAGS; \
|
A68FLAGS="$(A68FLAGS_FOR_BUILD)"; export A68FLAGS; \
|
||||||
GOC="$(GOC_FOR_BUILD)"; export GOC; \
|
GOC="$(GOC_FOR_BUILD)"; export GOC; \
|
||||||
GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
|
GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
|
||||||
GDC="$(GDC_FOR_BUILD)"; export GDC; \
|
GDC="$(GDC_FOR_BUILD)"; export GDC; \
|
||||||
@@ -205,7 +205,7 @@ HOST_EXPORTS = \
|
|||||||
CXX="$(CXX)"; export CXX; \
|
CXX="$(CXX)"; export CXX; \
|
||||||
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
|
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
|
||||||
GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
|
GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
|
||||||
GA68="$(GA68)"; export GA68; \
|
A68="$(A68)"; export A68; \
|
||||||
GOC="$(GOC)"; export GOC; \
|
GOC="$(GOC)"; export GOC; \
|
||||||
GDC="$(GDC)"; export GDC; \
|
GDC="$(GDC)"; export GDC; \
|
||||||
GM2="$(GM2)"; export GM2; \
|
GM2="$(GM2)"; export GM2; \
|
||||||
@@ -281,11 +281,11 @@ POSTSTAGE1_HOST_EXPORTS = \
|
|||||||
CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
|
CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
|
||||||
$(POSTSTAGE1_CXX_EXPORT) \
|
$(POSTSTAGE1_CXX_EXPORT) \
|
||||||
$(LTO_EXPORTS) \
|
$(LTO_EXPORTS) \
|
||||||
GA68="$$r/$(HOST_SUBDIR)/prev-gcc/ga68$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
A68="$$r/$(HOST_SUBDIR)/prev-gcc/ga68$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
||||||
-B$(build_tooldir)/bin/ $(GA68FLAGS_FOR_TARGET) \
|
-B$(build_tooldir)/bin/ $(A68FLAGS_FOR_TARGET) \
|
||||||
-B$$r/prev-$(TARGET_SUBDIR)/libga68/.libs"; \
|
-B$$r/prev-$(TARGET_SUBDIR)/libga68/.libs"; \
|
||||||
export GA68; \
|
export A68; \
|
||||||
GA68_FOR_BUILD="$$GA68"; export GA68_FOR_BUILD; \
|
A68_FOR_BUILD="$$A68"; export A68_FOR_BUILD; \
|
||||||
GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
||||||
-B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
|
-B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
|
||||||
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
|
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
|
||||||
@@ -318,7 +318,7 @@ BASE_TARGET_EXPORTS = \
|
|||||||
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
||||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||||
GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
|
GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
|
||||||
GA68="$(GA68_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GA68; \
|
A68="$(A68_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export A68; \
|
||||||
GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
|
GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
|
||||||
GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
|
GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
|
||||||
GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
|
GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
|
||||||
@@ -389,7 +389,7 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
|||||||
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
||||||
DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
|
DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
|
||||||
GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
|
GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
|
||||||
GA68_FOR_BUILD = @GA68_FOR_BUILD@
|
A68_FOR_BUILD = @A68_FOR_BUILD@
|
||||||
GOC_FOR_BUILD = @GOC_FOR_BUILD@
|
GOC_FOR_BUILD = @GOC_FOR_BUILD@
|
||||||
GDC_FOR_BUILD = @GDC_FOR_BUILD@
|
GDC_FOR_BUILD = @GDC_FOR_BUILD@
|
||||||
GM2_FOR_BUILD = @GM2_FOR_BUILD@
|
GM2_FOR_BUILD = @GM2_FOR_BUILD@
|
||||||
@@ -453,7 +453,7 @@ STRIP = @STRIP@
|
|||||||
WINDRES = @WINDRES@
|
WINDRES = @WINDRES@
|
||||||
WINDMC = @WINDMC@
|
WINDMC = @WINDMC@
|
||||||
|
|
||||||
GA68 = @GA68@
|
A68 = @A68@
|
||||||
GDC = @GDC@
|
GDC = @GDC@
|
||||||
GNATBIND = @GNATBIND@
|
GNATBIND = @GNATBIND@
|
||||||
GNATMAKE = @GNATMAKE@
|
GNATMAKE = @GNATMAKE@
|
||||||
@@ -464,7 +464,7 @@ LIBCFLAGS = $(CFLAGS)
|
|||||||
CXXFLAGS = @CXXFLAGS@
|
CXXFLAGS = @CXXFLAGS@
|
||||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||||
GOCFLAGS = $(CFLAGS)
|
GOCFLAGS = $(CFLAGS)
|
||||||
GA68FLAGS = @GA68FLAGS@
|
A68FLAGS = @A68FLAGS@
|
||||||
GDCFLAGS = @GDCFLAGS@
|
GDCFLAGS = @GDCFLAGS@
|
||||||
GM2FLAGS = $(CFLAGS)
|
GM2FLAGS = $(CFLAGS)
|
||||||
|
|
||||||
@@ -690,7 +690,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
|
|||||||
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
|
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
|
||||||
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
|
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
|
||||||
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
|
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
|
||||||
GA68_FOR_TARGET=$(STAGE_CC_WRAPPER) @GA68_FOR_TARGET@
|
A68_FOR_TARGET=$(STAGE_CC_WRAPPER) @A68_FOR_TARGET@
|
||||||
GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
|
GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
|
||||||
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @GM2_FOR_TARGET@
|
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @GM2_FOR_TARGET@
|
||||||
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
|
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
|
||||||
@@ -720,7 +720,7 @@ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
|||||||
LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
|
LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
|
||||||
GM2FLAGS_FOR_TARGET = -O2 -g
|
GM2FLAGS_FOR_TARGET = -O2 -g
|
||||||
GOCFLAGS_FOR_TARGET = -O2 -g
|
GOCFLAGS_FOR_TARGET = -O2 -g
|
||||||
GA68FLAGS_FOR_TARGET = -O2 -g
|
A68FLAGS_FOR_TARGET = -O2 -g
|
||||||
GDCFLAGS_FOR_TARGET = -O2 -g
|
GDCFLAGS_FOR_TARGET = -O2 -g
|
||||||
|
|
||||||
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
|
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
|
||||||
@@ -907,8 +907,8 @@ BASE_FLAGS_TO_PASS = \
|
|||||||
"GNATMAKE=$(GNATMAKE)" \
|
"GNATMAKE=$(GNATMAKE)" \
|
||||||
"GDC=$(GDC)" \
|
"GDC=$(GDC)" \
|
||||||
"GDCFLAGS=$(GDCFLAGS)" \
|
"GDCFLAGS=$(GDCFLAGS)" \
|
||||||
"GA68=$(GA68)" \
|
"A68=$(A68)" \
|
||||||
"GA68FLAGS=$(GA68FLAGS)" \
|
"A68FLAGS=$(A68FLAGS)" \
|
||||||
"AR_FOR_TARGET=$(AR_FOR_TARGET)" \
|
"AR_FOR_TARGET=$(AR_FOR_TARGET)" \
|
||||||
"AS_FOR_TARGET=$(AS_FOR_TARGET)" \
|
"AS_FOR_TARGET=$(AS_FOR_TARGET)" \
|
||||||
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
|
"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
|
||||||
@@ -923,8 +923,8 @@ BASE_FLAGS_TO_PASS = \
|
|||||||
"GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \
|
"GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \
|
||||||
"GDC_FOR_TARGET=$(GDC_FOR_TARGET)" \
|
"GDC_FOR_TARGET=$(GDC_FOR_TARGET)" \
|
||||||
"GDCFLAGS_FOR_TARGET=$(GDCFLAGS_FOR_TARGET)" \
|
"GDCFLAGS_FOR_TARGET=$(GDCFLAGS_FOR_TARGET)" \
|
||||||
"GA68_FOR_TARGET=$(GA68_FOR_TARGET)" \
|
"A68_FOR_TARGET=$(A68_FOR_TARGET)" \
|
||||||
"GA68FLAGS_FOR_TARGET=$(GA68FLAGS_FOR_TARGET)" \
|
"A68FLAGS_FOR_TARGET=$(A68FLAGS_FOR_TARGET)" \
|
||||||
"GM2_FOR_TARGET=$(GM2_FOR_TARGET)" \
|
"GM2_FOR_TARGET=$(GM2_FOR_TARGET)" \
|
||||||
"GM2FLAGS_FOR_TARGET=$(GM2FLAGS_FOR_TARGET)" \
|
"GM2FLAGS_FOR_TARGET=$(GM2FLAGS_FOR_TARGET)" \
|
||||||
"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
|
"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
|
||||||
@@ -999,7 +999,7 @@ EXTRA_HOST_FLAGS = \
|
|||||||
'DSYMUTIL=$(DSYMUTIL)' \
|
'DSYMUTIL=$(DSYMUTIL)' \
|
||||||
'GFORTRAN=$(GFORTRAN)' \
|
'GFORTRAN=$(GFORTRAN)' \
|
||||||
'GOC=$(GOC)' \
|
'GOC=$(GOC)' \
|
||||||
'GA68=$(GA68)' \
|
'A68=$(A68)' \
|
||||||
'GDC=$(GDC)' \
|
'GDC=$(GDC)' \
|
||||||
'GM2=$(GM2)' \
|
'GM2=$(GM2)' \
|
||||||
'LD=$(LD)' \
|
'LD=$(LD)' \
|
||||||
@@ -1028,7 +1028,7 @@ STAGE1_FLAGS_TO_PASS = \
|
|||||||
POSTSTAGE1_FLAGS_TO_PASS = \
|
POSTSTAGE1_FLAGS_TO_PASS = \
|
||||||
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
|
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
|
||||||
CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
|
CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
|
||||||
GA68="$${GA68}" GA68_FOR_BUILD="$${GA68_FOR_BUILD}" \
|
A68="$${A68}" A68_FOR_BUILD="$${A68_FOR_BUILD}" \
|
||||||
GDC="$${GDC}" GDC_FOR_BUILD="$${GDC_FOR_BUILD}" \
|
GDC="$${GDC}" GDC_FOR_BUILD="$${GDC_FOR_BUILD}" \
|
||||||
GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
|
GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
|
||||||
GNATBIND="$${GNATBIND}" \
|
GNATBIND="$${GNATBIND}" \
|
||||||
@@ -1064,8 +1064,8 @@ EXTRA_TARGET_FLAGS = \
|
|||||||
'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
|
'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
|
||||||
'GA68=$$(GA68_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'A68=$$(A68_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GA68FLAGS=$$(GA68FLAGS_FOR_TARGET)' \
|
'A68FLAGS=$$(A68FLAGS_FOR_TARGET)' \
|
||||||
'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
|
'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
|
||||||
'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
|
|||||||
34
Makefile.tpl
34
Makefile.tpl
@@ -163,8 +163,8 @@ BUILD_EXPORTS = \
|
|||||||
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
CXX="$(CXX_FOR_BUILD)"; export CXX; \
|
||||||
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
|
||||||
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
|
||||||
GA68="$(GA68_FOR_BUILD)"; export GA68; \
|
A68="$(A68_FOR_BUILD)"; export A68; \
|
||||||
GA68FLAGS="$(GA68FLAGS_FOR_BUILD)"; export GA68FLAGS; \
|
A68FLAGS="$(A68FLAGS_FOR_BUILD)"; export A68FLAGS; \
|
||||||
GOC="$(GOC_FOR_BUILD)"; export GOC; \
|
GOC="$(GOC_FOR_BUILD)"; export GOC; \
|
||||||
GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
|
GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
|
||||||
GDC="$(GDC_FOR_BUILD)"; export GDC; \
|
GDC="$(GDC_FOR_BUILD)"; export GDC; \
|
||||||
@@ -208,7 +208,7 @@ HOST_EXPORTS = \
|
|||||||
CXX="$(CXX)"; export CXX; \
|
CXX="$(CXX)"; export CXX; \
|
||||||
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
|
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
|
||||||
GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
|
GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
|
||||||
GA68="$(GA68)"; export GA68; \
|
A68="$(A68)"; export A68; \
|
||||||
GOC="$(GOC)"; export GOC; \
|
GOC="$(GOC)"; export GOC; \
|
||||||
GDC="$(GDC)"; export GDC; \
|
GDC="$(GDC)"; export GDC; \
|
||||||
GM2="$(GM2)"; export GM2; \
|
GM2="$(GM2)"; export GM2; \
|
||||||
@@ -284,11 +284,11 @@ POSTSTAGE1_HOST_EXPORTS = \
|
|||||||
CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
|
CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
|
||||||
$(POSTSTAGE1_CXX_EXPORT) \
|
$(POSTSTAGE1_CXX_EXPORT) \
|
||||||
$(LTO_EXPORTS) \
|
$(LTO_EXPORTS) \
|
||||||
GA68="$$r/$(HOST_SUBDIR)/prev-gcc/ga68$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
A68="$$r/$(HOST_SUBDIR)/prev-gcc/ga68$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
||||||
-B$(build_tooldir)/bin/ $(GA68FLAGS_FOR_TARGET) \
|
-B$(build_tooldir)/bin/ $(A68FLAGS_FOR_TARGET) \
|
||||||
-B$$r/prev-$(TARGET_SUBDIR)/libga68/.libs"; \
|
-B$$r/prev-$(TARGET_SUBDIR)/libga68/.libs"; \
|
||||||
export GA68; \
|
export A68; \
|
||||||
GA68_FOR_BUILD="$$GA68"; export GA68_FOR_BUILD; \
|
A68_FOR_BUILD="$$A68"; export A68_FOR_BUILD; \
|
||||||
GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
|
||||||
-B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
|
-B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
|
||||||
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
|
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
|
||||||
@@ -321,7 +321,7 @@ BASE_TARGET_EXPORTS = \
|
|||||||
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
||||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||||
GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
|
GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
|
||||||
GA68="$(GA68_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GA68; \
|
A68="$(A68_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export A68; \
|
||||||
GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
|
GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
|
||||||
GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
|
GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
|
||||||
GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
|
GM2="$(GM2_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GM2; \
|
||||||
@@ -392,7 +392,7 @@ CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
|||||||
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
|
||||||
DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
|
DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@
|
||||||
GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
|
GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
|
||||||
GA68_FOR_BUILD = @GA68_FOR_BUILD@
|
A68_FOR_BUILD = @A68_FOR_BUILD@
|
||||||
GOC_FOR_BUILD = @GOC_FOR_BUILD@
|
GOC_FOR_BUILD = @GOC_FOR_BUILD@
|
||||||
GDC_FOR_BUILD = @GDC_FOR_BUILD@
|
GDC_FOR_BUILD = @GDC_FOR_BUILD@
|
||||||
GM2_FOR_BUILD = @GM2_FOR_BUILD@
|
GM2_FOR_BUILD = @GM2_FOR_BUILD@
|
||||||
@@ -456,7 +456,7 @@ STRIP = @STRIP@
|
|||||||
WINDRES = @WINDRES@
|
WINDRES = @WINDRES@
|
||||||
WINDMC = @WINDMC@
|
WINDMC = @WINDMC@
|
||||||
|
|
||||||
GA68 = @GA68@
|
A68 = @A68@
|
||||||
GDC = @GDC@
|
GDC = @GDC@
|
||||||
GNATBIND = @GNATBIND@
|
GNATBIND = @GNATBIND@
|
||||||
GNATMAKE = @GNATMAKE@
|
GNATMAKE = @GNATMAKE@
|
||||||
@@ -467,7 +467,7 @@ LIBCFLAGS = $(CFLAGS)
|
|||||||
CXXFLAGS = @CXXFLAGS@
|
CXXFLAGS = @CXXFLAGS@
|
||||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||||
GOCFLAGS = $(CFLAGS)
|
GOCFLAGS = $(CFLAGS)
|
||||||
GA68FLAGS = @GA68FLAGS@
|
A68FLAGS = @A68FLAGS@
|
||||||
GDCFLAGS = @GDCFLAGS@
|
GDCFLAGS = @GDCFLAGS@
|
||||||
GM2FLAGS = $(CFLAGS)
|
GM2FLAGS = $(CFLAGS)
|
||||||
|
|
||||||
@@ -613,7 +613,7 @@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
|
|||||||
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
|
RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
|
||||||
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
|
GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
|
||||||
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
|
GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
|
||||||
GA68_FOR_TARGET=$(STAGE_CC_WRAPPER) @GA68_FOR_TARGET@
|
A68_FOR_TARGET=$(STAGE_CC_WRAPPER) @A68_FOR_TARGET@
|
||||||
GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
|
GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
|
||||||
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @GM2_FOR_TARGET@
|
GM2_FOR_TARGET=$(STAGE_CC_WRAPPER) @GM2_FOR_TARGET@
|
||||||
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
|
DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
|
||||||
@@ -643,7 +643,7 @@ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
|||||||
LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
|
LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
|
||||||
GM2FLAGS_FOR_TARGET = -O2 -g
|
GM2FLAGS_FOR_TARGET = -O2 -g
|
||||||
GOCFLAGS_FOR_TARGET = -O2 -g
|
GOCFLAGS_FOR_TARGET = -O2 -g
|
||||||
GA68FLAGS_FOR_TARGET = -O2 -g
|
A68FLAGS_FOR_TARGET = -O2 -g
|
||||||
GDCFLAGS_FOR_TARGET = -O2 -g
|
GDCFLAGS_FOR_TARGET = -O2 -g
|
||||||
|
|
||||||
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
|
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
|
||||||
@@ -748,7 +748,7 @@ EXTRA_HOST_FLAGS = \
|
|||||||
'DSYMUTIL=$(DSYMUTIL)' \
|
'DSYMUTIL=$(DSYMUTIL)' \
|
||||||
'GFORTRAN=$(GFORTRAN)' \
|
'GFORTRAN=$(GFORTRAN)' \
|
||||||
'GOC=$(GOC)' \
|
'GOC=$(GOC)' \
|
||||||
'GA68=$(GA68)' \
|
'A68=$(A68)' \
|
||||||
'GDC=$(GDC)' \
|
'GDC=$(GDC)' \
|
||||||
'GM2=$(GM2)' \
|
'GM2=$(GM2)' \
|
||||||
'LD=$(LD)' \
|
'LD=$(LD)' \
|
||||||
@@ -777,7 +777,7 @@ STAGE1_FLAGS_TO_PASS = \
|
|||||||
POSTSTAGE1_FLAGS_TO_PASS = \
|
POSTSTAGE1_FLAGS_TO_PASS = \
|
||||||
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
|
CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
|
||||||
CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
|
CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
|
||||||
GA68="$${GA68}" GA68_FOR_BUILD="$${GA68_FOR_BUILD}" \
|
A68="$${A68}" A68_FOR_BUILD="$${A68_FOR_BUILD}" \
|
||||||
GDC="$${GDC}" GDC_FOR_BUILD="$${GDC_FOR_BUILD}" \
|
GDC="$${GDC}" GDC_FOR_BUILD="$${GDC_FOR_BUILD}" \
|
||||||
GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
|
GM2="$${GM2}" GM2_FOR_BUILD="$${GM2_FOR_BUILD}" \
|
||||||
GNATBIND="$${GNATBIND}" \
|
GNATBIND="$${GNATBIND}" \
|
||||||
@@ -813,8 +813,8 @@ EXTRA_TARGET_FLAGS = \
|
|||||||
'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
|
'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
|
||||||
'GA68=$$(GA68_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'A68=$$(A68_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GA68FLAGS=$$(GA68FLAGS_FOR_TARGET)' \
|
'A68FLAGS=$$(A68FLAGS_FOR_TARGET)' \
|
||||||
'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
|
'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \
|
||||||
'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
'GM2=$$(GM2_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
|
||||||
|
|||||||
18
config-ml.in
18
config-ml.in
@@ -528,6 +528,7 @@ multi-do:
|
|||||||
exec_prefix="$(exec_prefix)" \
|
exec_prefix="$(exec_prefix)" \
|
||||||
GOCFLAGS="$(GOCFLAGS) $${flags}" \
|
GOCFLAGS="$(GOCFLAGS) $${flags}" \
|
||||||
GDCFLAGS="$(GDCFLAGS) $${flags}" \
|
GDCFLAGS="$(GDCFLAGS) $${flags}" \
|
||||||
|
A68FLAGS="$(A68FLAGS) $${flags}" \
|
||||||
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
||||||
LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
|
LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
|
||||||
LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
|
LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
|
||||||
@@ -759,7 +760,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
|
|||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags"'
|
ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags" A68="${A68_}$flags"'
|
||||||
|
|
||||||
if [ "${with_target_subdir}" = "." ]; then
|
if [ "${with_target_subdir}" = "." ]; then
|
||||||
CC_=$CC' '
|
CC_=$CC' '
|
||||||
@@ -768,6 +769,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
|
|||||||
GFORTRAN_=$GFORTRAN' '
|
GFORTRAN_=$GFORTRAN' '
|
||||||
GOC_=$GOC' '
|
GOC_=$GOC' '
|
||||||
GDC_=$GDC' '
|
GDC_=$GDC' '
|
||||||
|
A68_=$A68' '
|
||||||
else
|
else
|
||||||
# Create a regular expression that matches any string as long
|
# Create a regular expression that matches any string as long
|
||||||
# as ML_POPDIR.
|
# as ML_POPDIR.
|
||||||
@@ -857,6 +859,20 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
A68_=
|
||||||
|
for arg in ${A68}; do
|
||||||
|
case $arg in
|
||||||
|
-[BIL]"${ML_POPDIR}"/*)
|
||||||
|
A68_="${A68_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
|
||||||
|
"${ML_POPDIR}"/*)
|
||||||
|
A68_="${A68_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
|
||||||
|
-B*/lib/)
|
||||||
|
A68_="${A68_}${arg}${multi_osdir} ${arg} " ;;
|
||||||
|
*)
|
||||||
|
A68_="${A68_}${arg} " ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
if test "x${LD_LIBRARY_PATH+set}" = xset; then
|
if test "x${LD_LIBRARY_PATH+set}" = xset; then
|
||||||
LD_LIBRARY_PATH_=
|
LD_LIBRARY_PATH_=
|
||||||
for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
|
for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
|
||||||
|
|||||||
@@ -435,10 +435,10 @@ else
|
|||||||
fi])
|
fi])
|
||||||
|
|
||||||
# Test for Algol 68
|
# Test for Algol 68
|
||||||
AC_DEFUN([ACX_PROG_GA68],
|
AC_DEFUN([ACX_PROG_A68],
|
||||||
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
|
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
|
||||||
AC_REQUIRE([AC_PROG_CC])
|
AC_REQUIRE([AC_PROG_CC])
|
||||||
AC_CHECK_TOOL(GA68, ga68, no)])
|
AC_CHECK_TOOL(A68, ga68, no)])
|
||||||
|
|
||||||
# Test for D.
|
# Test for D.
|
||||||
AC_DEFUN([ACX_PROG_GDC],
|
AC_DEFUN([ACX_PROG_GDC],
|
||||||
|
|||||||
152
configure
vendored
152
configure
vendored
@@ -620,7 +620,7 @@ AR_FOR_TARGET
|
|||||||
GM2_FOR_TARGET
|
GM2_FOR_TARGET
|
||||||
GDC_FOR_TARGET
|
GDC_FOR_TARGET
|
||||||
GOC_FOR_TARGET
|
GOC_FOR_TARGET
|
||||||
GA68_FOR_TARGET
|
A68_FOR_TARGET
|
||||||
GFORTRAN_FOR_TARGET
|
GFORTRAN_FOR_TARGET
|
||||||
GCC_FOR_TARGET
|
GCC_FOR_TARGET
|
||||||
CXX_FOR_TARGET
|
CXX_FOR_TARGET
|
||||||
@@ -634,7 +634,7 @@ GREP
|
|||||||
CPP
|
CPP
|
||||||
PKG_CONFIG_PATH
|
PKG_CONFIG_PATH
|
||||||
GDCFLAGS
|
GDCFLAGS
|
||||||
GA68FLAGS
|
A68FLAGS
|
||||||
READELF
|
READELF
|
||||||
OTOOL
|
OTOOL
|
||||||
OBJDUMP
|
OBJDUMP
|
||||||
@@ -667,7 +667,7 @@ LDFLAGS_FOR_BUILD
|
|||||||
GNATMAKE_FOR_BUILD
|
GNATMAKE_FOR_BUILD
|
||||||
GDC_FOR_BUILD
|
GDC_FOR_BUILD
|
||||||
GOC_FOR_BUILD
|
GOC_FOR_BUILD
|
||||||
GA68_FOR_BUILD
|
A68_FOR_BUILD
|
||||||
GFORTRAN_FOR_BUILD
|
GFORTRAN_FOR_BUILD
|
||||||
DSYMUTIL_FOR_BUILD
|
DSYMUTIL_FOR_BUILD
|
||||||
DLLTOOL_FOR_BUILD
|
DLLTOOL_FOR_BUILD
|
||||||
@@ -731,7 +731,7 @@ HAVE_CXX14
|
|||||||
do_compare
|
do_compare
|
||||||
CARGO
|
CARGO
|
||||||
GDC
|
GDC
|
||||||
GA68
|
A68
|
||||||
GNATMAKE
|
GNATMAKE
|
||||||
GNATBIND
|
GNATBIND
|
||||||
ac_ct_CXX
|
ac_ct_CXX
|
||||||
@@ -913,7 +913,7 @@ CC_FOR_TARGET
|
|||||||
CXX_FOR_TARGET
|
CXX_FOR_TARGET
|
||||||
GCC_FOR_TARGET
|
GCC_FOR_TARGET
|
||||||
GFORTRAN_FOR_TARGET
|
GFORTRAN_FOR_TARGET
|
||||||
GA68_FOR_TARGET
|
A68_FOR_TARGET
|
||||||
GOC_FOR_TARGET
|
GOC_FOR_TARGET
|
||||||
GDC_FOR_TARGET
|
GDC_FOR_TARGET
|
||||||
GM2_FOR_TARGET
|
GM2_FOR_TARGET
|
||||||
@@ -1722,8 +1722,8 @@ Some influential environment variables:
|
|||||||
GCC for the target
|
GCC for the target
|
||||||
GFORTRAN_FOR_TARGET
|
GFORTRAN_FOR_TARGET
|
||||||
GFORTRAN for the target
|
GFORTRAN for the target
|
||||||
GA68_FOR_TARGET
|
A68_FOR_TARGET
|
||||||
GA68 for the target
|
A68 for the target
|
||||||
GOC_FOR_TARGET
|
GOC_FOR_TARGET
|
||||||
GOC for the target
|
GOC for the target
|
||||||
GDC_FOR_TARGET
|
GDC_FOR_TARGET
|
||||||
@@ -4322,7 +4322,7 @@ if test "${build}" != "${host}" ; then
|
|||||||
DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
|
DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
|
||||||
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
||||||
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
||||||
GA68_FOR_BUILD=${GA68_FOR_BUILD-ga68}
|
A68_FOR_BUILD=${A68_FOR_BUILD-ga68}
|
||||||
GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
|
GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
|
||||||
GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
|
GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
|
||||||
GNATMAKE_FOR_BUILD=${GNATMAKE_FOR_BUILD-gnatmake}
|
GNATMAKE_FOR_BUILD=${GNATMAKE_FOR_BUILD-gnatmake}
|
||||||
@@ -4339,7 +4339,7 @@ else
|
|||||||
DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
|
DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
|
||||||
DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
|
DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
|
||||||
GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
|
GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
|
||||||
GA68_FOR_BUILD="\$(GA68)"
|
A68_FOR_BUILD="\$(A68)"
|
||||||
GOC_FOR_BUILD="\$(GOC)"
|
GOC_FOR_BUILD="\$(GOC)"
|
||||||
GDC_FOR_BUILD="\$(GDC)"
|
GDC_FOR_BUILD="\$(GDC)"
|
||||||
GNATMAKE_FOR_BUILD="\$(GNATMAKE)"
|
GNATMAKE_FOR_BUILD="\$(GNATMAKE)"
|
||||||
@@ -5865,11 +5865,11 @@ if test -n "$ac_tool_prefix"; then
|
|||||||
set dummy ${ac_tool_prefix}ga68; ac_word=$2
|
set dummy ${ac_tool_prefix}ga68; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if ${ac_cv_prog_GA68+:} false; then :
|
if ${ac_cv_prog_A68+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$GA68"; then
|
if test -n "$A68"; then
|
||||||
ac_cv_prog_GA68="$GA68" # Let the user override the test.
|
ac_cv_prog_A68="$A68" # Let the user override the test.
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
for as_dir in $PATH
|
for as_dir in $PATH
|
||||||
@@ -5878,7 +5878,7 @@ do
|
|||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
ac_cv_prog_GA68="${ac_tool_prefix}ga68"
|
ac_cv_prog_A68="${ac_tool_prefix}ga68"
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
break 2
|
break 2
|
||||||
fi
|
fi
|
||||||
@@ -5888,10 +5888,10 @@ IFS=$as_save_IFS
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
GA68=$ac_cv_prog_GA68
|
A68=$ac_cv_prog_A68
|
||||||
if test -n "$GA68"; then
|
if test -n "$A68"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GA68" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $A68" >&5
|
||||||
$as_echo "$GA68" >&6; }
|
$as_echo "$A68" >&6; }
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
@@ -5899,17 +5899,17 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
if test -z "$ac_cv_prog_GA68"; then
|
if test -z "$ac_cv_prog_A68"; then
|
||||||
ac_ct_GA68=$GA68
|
ac_ct_A68=$A68
|
||||||
# Extract the first word of "ga68", so it can be a program name with args.
|
# Extract the first word of "ga68", so it can be a program name with args.
|
||||||
set dummy ga68; ac_word=$2
|
set dummy ga68; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if ${ac_cv_prog_ac_ct_GA68+:} false; then :
|
if ${ac_cv_prog_ac_ct_A68+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$ac_ct_GA68"; then
|
if test -n "$ac_ct_A68"; then
|
||||||
ac_cv_prog_ac_ct_GA68="$ac_ct_GA68" # Let the user override the test.
|
ac_cv_prog_ac_ct_A68="$ac_ct_A68" # Let the user override the test.
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
for as_dir in $PATH
|
for as_dir in $PATH
|
||||||
@@ -5918,7 +5918,7 @@ do
|
|||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
ac_cv_prog_ac_ct_GA68="ga68"
|
ac_cv_prog_ac_ct_A68="ga68"
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
break 2
|
break 2
|
||||||
fi
|
fi
|
||||||
@@ -5928,17 +5928,17 @@ IFS=$as_save_IFS
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
ac_ct_GA68=$ac_cv_prog_ac_ct_GA68
|
ac_ct_A68=$ac_cv_prog_ac_ct_A68
|
||||||
if test -n "$ac_ct_GA68"; then
|
if test -n "$ac_ct_A68"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GA68" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_A68" >&5
|
||||||
$as_echo "$ac_ct_GA68" >&6; }
|
$as_echo "$ac_ct_A68" >&6; }
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$ac_ct_GA68" = x; then
|
if test "x$ac_ct_A68" = x; then
|
||||||
GA68="no"
|
A68="no"
|
||||||
else
|
else
|
||||||
case $cross_compiling:$ac_tool_warned in
|
case $cross_compiling:$ac_tool_warned in
|
||||||
yes:)
|
yes:)
|
||||||
@@ -5946,10 +5946,10 @@ yes:)
|
|||||||
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
||||||
ac_tool_warned=yes ;;
|
ac_tool_warned=yes ;;
|
||||||
esac
|
esac
|
||||||
GA68=$ac_ct_GA68
|
A68=$ac_ct_A68
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
GA68="$ac_cv_prog_GA68"
|
A68="$ac_cv_prog_A68"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -14479,7 +14479,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
GA68FLAGS=${GA68FLAGS-${CFLAGS}}
|
A68FLAGS=${A68FLAGS-${CFLAGS}}
|
||||||
|
|
||||||
|
|
||||||
GDCFLAGS=${GDCFLAGS-${CFLAGS}}
|
GDCFLAGS=${GDCFLAGS-${CFLAGS}}
|
||||||
@@ -15810,23 +15810,23 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test -n "$GA68_FOR_TARGET"; then
|
if test -n "$A68_FOR_TARGET"; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET=$GA68_FOR_TARGET
|
ac_cv_prog_A68_FOR_TARGET=$A68_FOR_TARGET
|
||||||
elif test -n "$ac_cv_prog_GA68_FOR_TARGET"; then
|
elif test -n "$ac_cv_prog_A68_FOR_TARGET"; then
|
||||||
GA68_FOR_TARGET=$ac_cv_prog_GA68_FOR_TARGET
|
A68_FOR_TARGET=$ac_cv_prog_A68_FOR_TARGET
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$ac_cv_prog_GA68_FOR_TARGET"; then
|
if test -n "$ac_cv_prog_A68_FOR_TARGET"; then
|
||||||
for ncn_progname in ga68; do
|
for ncn_progname in ga68; do
|
||||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||||
set dummy ${ncn_progname}; ac_word=$2
|
set dummy ${ncn_progname}; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if ${ac_cv_prog_GA68_FOR_TARGET+:} false; then :
|
if ${ac_cv_prog_A68_FOR_TARGET+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$GA68_FOR_TARGET"; then
|
if test -n "$A68_FOR_TARGET"; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET="$GA68_FOR_TARGET" # Let the user override the test.
|
ac_cv_prog_A68_FOR_TARGET="$A68_FOR_TARGET" # Let the user override the test.
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
for as_dir in $PATH
|
for as_dir in $PATH
|
||||||
@@ -15835,7 +15835,7 @@ do
|
|||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET="${ncn_progname}"
|
ac_cv_prog_A68_FOR_TARGET="${ncn_progname}"
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
break 2
|
break 2
|
||||||
fi
|
fi
|
||||||
@@ -15845,10 +15845,10 @@ IFS=$as_save_IFS
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
GA68_FOR_TARGET=$ac_cv_prog_GA68_FOR_TARGET
|
A68_FOR_TARGET=$ac_cv_prog_A68_FOR_TARGET
|
||||||
if test -n "$GA68_FOR_TARGET"; then
|
if test -n "$A68_FOR_TARGET"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GA68_FOR_TARGET" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $A68_FOR_TARGET" >&5
|
||||||
$as_echo "$GA68_FOR_TARGET" >&6; }
|
$as_echo "$A68_FOR_TARGET" >&6; }
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
@@ -15858,12 +15858,12 @@ fi
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$ac_cv_prog_GA68_FOR_TARGET" && test -n "$with_build_time_tools"; then
|
if test -z "$ac_cv_prog_A68_FOR_TARGET" && test -n "$with_build_time_tools"; then
|
||||||
for ncn_progname in ga68; do
|
for ncn_progname in ga68; do
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5
|
||||||
$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; }
|
$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; }
|
||||||
if test -x $with_build_time_tools/${ncn_progname}; then
|
if test -x $with_build_time_tools/${ncn_progname}; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET=$with_build_time_tools/${ncn_progname}
|
ac_cv_prog_A68_FOR_TARGET=$with_build_time_tools/${ncn_progname}
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
break
|
break
|
||||||
@@ -15874,18 +15874,18 @@ $as_echo "no" >&6; }
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$ac_cv_prog_GA68_FOR_TARGET"; then
|
if test -z "$ac_cv_prog_A68_FOR_TARGET"; then
|
||||||
for ncn_progname in ga68; do
|
for ncn_progname in ga68; do
|
||||||
if test -n "$ncn_target_tool_prefix"; then
|
if test -n "$ncn_target_tool_prefix"; then
|
||||||
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
# Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
|
||||||
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if ${ac_cv_prog_GA68_FOR_TARGET+:} false; then :
|
if ${ac_cv_prog_A68_FOR_TARGET+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$GA68_FOR_TARGET"; then
|
if test -n "$A68_FOR_TARGET"; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET="$GA68_FOR_TARGET" # Let the user override the test.
|
ac_cv_prog_A68_FOR_TARGET="$A68_FOR_TARGET" # Let the user override the test.
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
for as_dir in $PATH
|
for as_dir in $PATH
|
||||||
@@ -15894,7 +15894,7 @@ do
|
|||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
|
ac_cv_prog_A68_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
break 2
|
break 2
|
||||||
fi
|
fi
|
||||||
@@ -15904,10 +15904,10 @@ IFS=$as_save_IFS
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
GA68_FOR_TARGET=$ac_cv_prog_GA68_FOR_TARGET
|
A68_FOR_TARGET=$ac_cv_prog_A68_FOR_TARGET
|
||||||
if test -n "$GA68_FOR_TARGET"; then
|
if test -n "$A68_FOR_TARGET"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GA68_FOR_TARGET" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $A68_FOR_TARGET" >&5
|
||||||
$as_echo "$GA68_FOR_TARGET" >&6; }
|
$as_echo "$A68_FOR_TARGET" >&6; }
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
@@ -15915,16 +15915,16 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
if test -z "$ac_cv_prog_GA68_FOR_TARGET" && test $build = $target ; then
|
if test -z "$ac_cv_prog_A68_FOR_TARGET" && test $build = $target ; then
|
||||||
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
# Extract the first word of "${ncn_progname}", so it can be a program name with args.
|
||||||
set dummy ${ncn_progname}; ac_word=$2
|
set dummy ${ncn_progname}; ac_word=$2
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
if ${ac_cv_prog_GA68_FOR_TARGET+:} false; then :
|
if ${ac_cv_prog_A68_FOR_TARGET+:} false; then :
|
||||||
$as_echo_n "(cached) " >&6
|
$as_echo_n "(cached) " >&6
|
||||||
else
|
else
|
||||||
if test -n "$GA68_FOR_TARGET"; then
|
if test -n "$A68_FOR_TARGET"; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET="$GA68_FOR_TARGET" # Let the user override the test.
|
ac_cv_prog_A68_FOR_TARGET="$A68_FOR_TARGET" # Let the user override the test.
|
||||||
else
|
else
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
for as_dir in $PATH
|
for as_dir in $PATH
|
||||||
@@ -15933,7 +15933,7 @@ do
|
|||||||
test -z "$as_dir" && as_dir=.
|
test -z "$as_dir" && as_dir=.
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
ac_cv_prog_GA68_FOR_TARGET="${ncn_progname}"
|
ac_cv_prog_A68_FOR_TARGET="${ncn_progname}"
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
break 2
|
break 2
|
||||||
fi
|
fi
|
||||||
@@ -15943,10 +15943,10 @@ IFS=$as_save_IFS
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
GA68_FOR_TARGET=$ac_cv_prog_GA68_FOR_TARGET
|
A68_FOR_TARGET=$ac_cv_prog_A68_FOR_TARGET
|
||||||
if test -n "$GA68_FOR_TARGET"; then
|
if test -n "$A68_FOR_TARGET"; then
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GA68_FOR_TARGET" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $A68_FOR_TARGET" >&5
|
||||||
$as_echo "$GA68_FOR_TARGET" >&6; }
|
$as_echo "$A68_FOR_TARGET" >&6; }
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
@@ -15954,19 +15954,19 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
test -n "$ac_cv_prog_GA68_FOR_TARGET" && break
|
test -n "$ac_cv_prog_A68_FOR_TARGET" && break
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$ac_cv_prog_GA68_FOR_TARGET" ; then
|
if test -z "$ac_cv_prog_A68_FOR_TARGET" ; then
|
||||||
set dummy ga68
|
set dummy ga68
|
||||||
if test $build = $target ; then
|
if test $build = $target ; then
|
||||||
GA68_FOR_TARGET="$2"
|
A68_FOR_TARGET="$2"
|
||||||
else
|
else
|
||||||
GA68_FOR_TARGET="${ncn_target_tool_prefix}$2"
|
A68_FOR_TARGET="${ncn_target_tool_prefix}$2"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
GA68_FOR_TARGET="$ac_cv_prog_GA68_FOR_TARGET"
|
A68_FOR_TARGET="$ac_cv_prog_A68_FOR_TARGET"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -20440,9 +20440,9 @@ fi
|
|||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ga68" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ga68" >&5
|
||||||
$as_echo_n "checking where to find the target ga68... " >&6; }
|
$as_echo_n "checking where to find the target ga68... " >&6; }
|
||||||
if test "x${build}" != "x${host}" ; then
|
if test "x${build}" != "x${host}" ; then
|
||||||
if expr "x$GA68_FOR_TARGET" : "x/" > /dev/null; then
|
if expr "x$A68_FOR_TARGET" : "x/" > /dev/null; then
|
||||||
# We already found the complete path
|
# We already found the complete path
|
||||||
ac_dir=`dirname $GA68_FOR_TARGET`
|
ac_dir=`dirname $A68_FOR_TARGET`
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
|
||||||
$as_echo "pre-installed in $ac_dir" >&6; }
|
$as_echo "pre-installed in $ac_dir" >&6; }
|
||||||
else
|
else
|
||||||
@@ -20462,17 +20462,17 @@ else
|
|||||||
esac
|
esac
|
||||||
if test $ok = yes; then
|
if test $ok = yes; then
|
||||||
# An in-tree tool is available and we can use it
|
# An in-tree tool is available and we can use it
|
||||||
GA68_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/ga68 -B$$r/$(HOST_SUBDIR)/gcc/'
|
A68_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/ga68 -B$$r/$(HOST_SUBDIR)/gcc/'
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
|
||||||
$as_echo "just compiled" >&6; }
|
$as_echo "just compiled" >&6; }
|
||||||
elif expr "x$GA68_FOR_TARGET" : "x/" > /dev/null; then
|
elif expr "x$A68_FOR_TARGET" : "x/" > /dev/null; then
|
||||||
# We already found the complete path
|
# We already found the complete path
|
||||||
ac_dir=`dirname $GA68_FOR_TARGET`
|
ac_dir=`dirname $A68_FOR_TARGET`
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5
|
||||||
$as_echo "pre-installed in $ac_dir" >&6; }
|
$as_echo "pre-installed in $ac_dir" >&6; }
|
||||||
elif test "x$target" = "x$host"; then
|
elif test "x$target" = "x$host"; then
|
||||||
# We can use an host tool
|
# We can use an host tool
|
||||||
GA68_FOR_TARGET='$(GA68)'
|
A68_FOR_TARGET='$(A68)'
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5
|
||||||
$as_echo "host tool" >&6; }
|
$as_echo "host tool" >&6; }
|
||||||
else
|
else
|
||||||
|
|||||||
18
configure.ac
18
configure.ac
@@ -1457,7 +1457,7 @@ if test "${build}" != "${host}" ; then
|
|||||||
DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
|
DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
|
||||||
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil}
|
||||||
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
||||||
GA68_FOR_BUILD=${GA68_FOR_BUILD-ga68}
|
A68_FOR_BUILD=${A68_FOR_BUILD-ga68}
|
||||||
GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
|
GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
|
||||||
GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
|
GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
|
||||||
GNATMAKE_FOR_BUILD=${GNATMAKE_FOR_BUILD-gnatmake}
|
GNATMAKE_FOR_BUILD=${GNATMAKE_FOR_BUILD-gnatmake}
|
||||||
@@ -1474,7 +1474,7 @@ else
|
|||||||
DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
|
DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
|
||||||
DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
|
DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)"
|
||||||
GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
|
GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
|
||||||
GA68_FOR_BUILD="\$(GA68)"
|
A68_FOR_BUILD="\$(A68)"
|
||||||
GOC_FOR_BUILD="\$(GOC)"
|
GOC_FOR_BUILD="\$(GOC)"
|
||||||
GDC_FOR_BUILD="\$(GDC)"
|
GDC_FOR_BUILD="\$(GDC)"
|
||||||
GNATMAKE_FOR_BUILD="\$(GNATMAKE)"
|
GNATMAKE_FOR_BUILD="\$(GNATMAKE)"
|
||||||
@@ -1528,7 +1528,7 @@ int main() {}])],
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
ACX_PROG_GNAT
|
ACX_PROG_GNAT
|
||||||
ACX_PROG_GA68
|
ACX_PROG_A68
|
||||||
ACX_PROG_GDC
|
ACX_PROG_GDC
|
||||||
ACX_PROG_CARGO
|
ACX_PROG_CARGO
|
||||||
ACX_PROG_CMP_IGNORE_INITIAL
|
ACX_PROG_CMP_IGNORE_INITIAL
|
||||||
@@ -4020,7 +4020,7 @@ AC_SUBST(CXX_FOR_BUILD)
|
|||||||
AC_SUBST(DLLTOOL_FOR_BUILD)
|
AC_SUBST(DLLTOOL_FOR_BUILD)
|
||||||
AC_SUBST(DSYMUTIL_FOR_BUILD)
|
AC_SUBST(DSYMUTIL_FOR_BUILD)
|
||||||
AC_SUBST(GFORTRAN_FOR_BUILD)
|
AC_SUBST(GFORTRAN_FOR_BUILD)
|
||||||
AC_SUBST(GA68_FOR_BUILD)
|
AC_SUBST(A68_FOR_BUILD)
|
||||||
AC_SUBST(GOC_FOR_BUILD)
|
AC_SUBST(GOC_FOR_BUILD)
|
||||||
AC_SUBST(GDC_FOR_BUILD)
|
AC_SUBST(GDC_FOR_BUILD)
|
||||||
AC_SUBST(GNATMAKE_FOR_BUILD)
|
AC_SUBST(GNATMAKE_FOR_BUILD)
|
||||||
@@ -4116,9 +4116,9 @@ AC_SUBST(CC)
|
|||||||
AC_SUBST(CXX)
|
AC_SUBST(CXX)
|
||||||
AC_SUBST(CFLAGS)
|
AC_SUBST(CFLAGS)
|
||||||
AC_SUBST(CXXFLAGS)
|
AC_SUBST(CXXFLAGS)
|
||||||
AC_SUBST(GA68)
|
AC_SUBST(A68)
|
||||||
AC_SUBST(GA68FLAGS)
|
AC_SUBST(A68FLAGS)
|
||||||
GA68FLAGS=${GA68FLAGS-${CFLAGS}}
|
A68FLAGS=${A68FLAGS-${CFLAGS}}
|
||||||
AC_SUBST(GDC)
|
AC_SUBST(GDC)
|
||||||
AC_SUBST(GDCFLAGS)
|
AC_SUBST(GDCFLAGS)
|
||||||
GDCFLAGS=${GDCFLAGS-${CFLAGS}}
|
GDCFLAGS=${GDCFLAGS-${CFLAGS}}
|
||||||
@@ -4167,7 +4167,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
|
|||||||
NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
|
NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
|
||||||
NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
|
NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
|
||||||
NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
|
NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
|
||||||
NCN_STRICT_CHECK_TARGET_TOOLS(GA68_FOR_TARGET, ga68)
|
NCN_STRICT_CHECK_TARGET_TOOLS(A68_FOR_TARGET, ga68)
|
||||||
NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
|
NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
|
||||||
NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc)
|
NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc)
|
||||||
NCN_STRICT_CHECK_TARGET_TOOLS(GM2_FOR_TARGET, gm2)
|
NCN_STRICT_CHECK_TARGET_TOOLS(GM2_FOR_TARGET, gm2)
|
||||||
@@ -4219,7 +4219,7 @@ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
|
|||||||
[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
|
[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
|
||||||
GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
|
GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
|
||||||
[gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
|
[gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
|
||||||
GCC_TARGET_TOOL(ga68, GA68_FOR_TARGET, GA68,
|
GCC_TARGET_TOOL(ga68, A68_FOR_TARGET, A68,
|
||||||
[gcc/ga68 -B$$r/$(HOST_SUBDIR)/gcc/], algol68)
|
[gcc/ga68 -B$$r/$(HOST_SUBDIR)/gcc/], algol68)
|
||||||
GCC_TARGET_TOOL(gdc, GDC_FOR_TARGET, GDC,
|
GCC_TARGET_TOOL(gdc, GDC_FOR_TARGET, GDC,
|
||||||
[gcc/gdc -B$$r/$(HOST_SUBDIR)/gcc/], d)
|
[gcc/gdc -B$$r/$(HOST_SUBDIR)/gcc/], d)
|
||||||
|
|||||||
@@ -441,9 +441,11 @@ static void
|
|||||||
a68_init_options (unsigned int argc ATTRIBUTE_UNUSED,
|
a68_init_options (unsigned int argc ATTRIBUTE_UNUSED,
|
||||||
cl_decoded_option *decoded_options ATTRIBUTE_UNUSED)
|
cl_decoded_option *decoded_options ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
/* Create an empty module files map. */
|
/* Create an empty module files map and fill in some modules that are
|
||||||
|
provided by the run-time libga68 library. */
|
||||||
A68_MODULE_FILES = hash_map<nofree_string_hash,const char*>::create_ggc (16);
|
A68_MODULE_FILES = hash_map<nofree_string_hash,const char*>::create_ggc (16);
|
||||||
A68_MODULE_FILES->empty ();
|
A68_MODULE_FILES->empty ();
|
||||||
|
A68_MODULE_FILES->put (ggc_strdup ("TRANSPUT"), ggc_strdup ("ga68"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef LANG_HOOKS_INIT_OPTIONS
|
#undef LANG_HOOKS_INIT_OPTIONS
|
||||||
|
|||||||
5
gcc/testsuite/algol68/execute/char-in-string-1.a68
Normal file
5
gcc/testsuite/algol68/execute/char-in-string-1.a68
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
access Transput
|
||||||
|
begin int pos;
|
||||||
|
assert (char_in_string ("o", pos, "foo"));
|
||||||
|
assert (pos = 2)
|
||||||
|
end
|
||||||
@@ -134,8 +134,24 @@ libga68_la_LIBTOOLFLAGS =
|
|||||||
libga68_la_CFLAGS = $(LIBGA68_GCFLAGS) $(LIBGA68_BOEHM_GC_INCLUDES)
|
libga68_la_CFLAGS = $(LIBGA68_GCFLAGS) $(LIBGA68_BOEHM_GC_INCLUDES)
|
||||||
libga68_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
libga68_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
||||||
$(version_arg) $(lt_host_flags) $(extra_darwin_ldflags_libga68)
|
$(version_arg) $(lt_host_flags) $(extra_darwin_ldflags_libga68)
|
||||||
libga68_la_DEPENDENCIES = libga68.spec $(version_dep)
|
libga68_la_DEPENDENCIES = libga68.spec $(version_dep) transput.lo
|
||||||
libga68_la_LIBADD = $(LIBGA68_BOEHM_GC_LIBS)
|
libga68_la_LIBADD = $(LIBGA68_BOEHM_GC_LIBS) transput.lo
|
||||||
|
|
||||||
|
# Rules to build the Algol 68 code in the library.
|
||||||
|
|
||||||
|
LTA68COMPILE = $(LIBTOOL) --tag=A68 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
|
--mode=compile $(A68) $(AM_A68FLAGS)
|
||||||
|
|
||||||
|
.a68.o:
|
||||||
|
$(A68) -o $@ $(A68FLAGS) -c $<
|
||||||
|
|
||||||
|
.a68.lo:
|
||||||
|
$(LTA68COMPILE) $(A68FLAGS) $(MULTIFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
transput.a68 : transput.a68.in
|
||||||
|
$(AWK) -f $(srcdir)/sppp.awk $< > $@
|
||||||
|
|
||||||
|
BUILT_SOURCES = transput.a68
|
||||||
|
|
||||||
# target overrides
|
# target overrides
|
||||||
-include $(tmake_file)
|
-include $(tmake_file)
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
|
|||||||
$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
|
$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
|
||||||
$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
|
$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
|
||||||
$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
|
$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/autoconf.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
||||||
@@ -246,6 +246,8 @@ ETAGS = etags
|
|||||||
CTAGS = ctags
|
CTAGS = ctags
|
||||||
CSCOPE = cscope
|
CSCOPE = cscope
|
||||||
AM_RECURSIVE_TARGETS = cscope
|
AM_RECURSIVE_TARGETS = cscope
|
||||||
|
A68 = @A68@
|
||||||
|
A68FLAGS = @A68FLAGS@
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
@@ -465,8 +467,7 @@ libga68_la_SOURCES = libga68.c \
|
|||||||
ga68-posix.c \
|
ga68-posix.c \
|
||||||
ga68-alloc.c \
|
ga68-alloc.c \
|
||||||
ga68-error.c \
|
ga68-error.c \
|
||||||
ga68-standenv.c \
|
ga68-standenv.c
|
||||||
ga68.h
|
|
||||||
|
|
||||||
libga68_la_LIBTOOLFLAGS =
|
libga68_la_LIBTOOLFLAGS =
|
||||||
libga68_la_CFLAGS = $(LIBGA68_GCFLAGS) $(LIBGA68_BOEHM_GC_INCLUDES)
|
libga68_la_CFLAGS = $(LIBGA68_GCFLAGS) $(LIBGA68_BOEHM_GC_INCLUDES)
|
||||||
@@ -474,18 +475,24 @@ libga68_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
|||||||
$(version_arg) $(lt_host_flags) $(extra_darwin_ldflags_libga68)
|
$(version_arg) $(lt_host_flags) $(extra_darwin_ldflags_libga68)
|
||||||
|
|
||||||
libga68_la_DEPENDENCIES = libga68.spec $(version_dep)
|
libga68_la_DEPENDENCIES = libga68.spec $(version_dep)
|
||||||
libga68_la_LIBADD = $(LIBGA68_BOEHM_GC_LIBS)
|
libga68_la_LIBADD = $(LIBGA68_BOEHM_GC_LIBS) transput.lo
|
||||||
|
|
||||||
|
# Rules to build the Algol 68 code in the library.
|
||||||
|
LTA68COMPILE = $(LIBTOOL) --tag=A68 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
|
--mode=compile $(A68) $(AM_A68FLAGS)
|
||||||
|
|
||||||
|
BUILT_SOURCES = transput.a68
|
||||||
MULTISRCTOP =
|
MULTISRCTOP =
|
||||||
MULTIBUILDTOP =
|
MULTIBUILDTOP =
|
||||||
MULTIDIRS =
|
MULTIDIRS =
|
||||||
MULTISUBDIR =
|
MULTISUBDIR =
|
||||||
MULTIDO = true
|
MULTIDO = true
|
||||||
MULTICLEAN = true
|
MULTICLEAN = true
|
||||||
all: config.h
|
all: $(BUILT_SOURCES) config.h
|
||||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
.SUFFIXES: .c .lo .o .obj
|
.SUFFIXES: .a68 .c .lo .o .obj
|
||||||
am--refresh: Makefile
|
am--refresh: Makefile
|
||||||
@:
|
@:
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(am__configure_deps)
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/../multilib.am $(am__configure_deps)
|
||||||
@@ -741,13 +748,15 @@ distclean-tags:
|
|||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||||
check-am: all-am
|
check-am: all-am
|
||||||
check: check-am
|
check: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) check-am
|
||||||
all-am: Makefile $(LTLIBRARIES) $(DATA) config.h all-local
|
all-am: Makefile $(LTLIBRARIES) $(DATA) config.h all-local
|
||||||
installdirs:
|
installdirs:
|
||||||
for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)"; do \
|
for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(toolexeclibdir)"; do \
|
||||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
done
|
done
|
||||||
install: install-am
|
install: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) install-am
|
||||||
install-exec: install-exec-am
|
install-exec: install-exec-am
|
||||||
install-data: install-data-am
|
install-data: install-data-am
|
||||||
uninstall: uninstall-am
|
uninstall: uninstall-am
|
||||||
@@ -777,6 +786,7 @@ distclean-generic:
|
|||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@echo "it deletes files that may require special tools to rebuild."
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||||
clean: clean-am
|
clean: clean-am
|
||||||
|
|
||||||
clean-am: clean-generic clean-libtool clean-local \
|
clean-am: clean-generic clean-libtool clean-local \
|
||||||
@@ -854,7 +864,7 @@ ps-am:
|
|||||||
uninstall-am: uninstall-toolexeclibDATA \
|
uninstall-am: uninstall-toolexeclibDATA \
|
||||||
uninstall-toolexeclibLTLIBRARIES
|
uninstall-toolexeclibLTLIBRARIES
|
||||||
|
|
||||||
.MAKE: all install-am install-strip
|
.MAKE: all check install install-am install-strip
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \
|
.PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \
|
||||||
check-am clean clean-cscope clean-generic clean-libtool \
|
check-am clean clean-cscope clean-generic clean-libtool \
|
||||||
@@ -884,6 +894,15 @@ uninstall-am: uninstall-toolexeclibDATA \
|
|||||||
@LIBGA68_USE_SYMVER_SUN_TRUE@@LIBGA68_USE_SYMVER_TRUE@ $(libga68_la_OBJECTS) $(libga68_la_LIBADD) \
|
@LIBGA68_USE_SYMVER_SUN_TRUE@@LIBGA68_USE_SYMVER_TRUE@ $(libga68_la_OBJECTS) $(libga68_la_LIBADD) \
|
||||||
@LIBGA68_USE_SYMVER_SUN_TRUE@@LIBGA68_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1)
|
@LIBGA68_USE_SYMVER_SUN_TRUE@@LIBGA68_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1)
|
||||||
|
|
||||||
|
.a68.o:
|
||||||
|
$(A68) -o $@ $(A68FLAGS) -c $<
|
||||||
|
|
||||||
|
.a68.lo:
|
||||||
|
$(LTA68COMPILE) $(A68FLAGS) $(MULTIFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
transput.a68 : transput.a68.in
|
||||||
|
$(AWK) -f $(srcdir)/sppp.awk $< > $@
|
||||||
|
|
||||||
# target overrides
|
# target overrides
|
||||||
-include $(tmake_file)
|
-include $(tmake_file)
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,15 @@
|
|||||||
|
dnl Copyright (C) 2025 Free Software Foundation, Inc.
|
||||||
|
dnl This file is free software; the Free Software Foundation
|
||||||
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
dnl with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
dnl This program is distributed in the hope that it will be useful,
|
||||||
|
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
dnl PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
m4_include([m4/autoconf.m4])
|
||||||
|
|
||||||
dnl Check whether the target supports hidden visibility.
|
dnl Check whether the target supports hidden visibility.
|
||||||
AC_DEFUN([LIBGA68_CHECK_ATTRIBUTE_VISIBILITY], [
|
AC_DEFUN([LIBGA68_CHECK_ATTRIBUTE_VISIBILITY], [
|
||||||
AC_CACHE_CHECK([whether the target supports hidden visibility],
|
AC_CACHE_CHECK([whether the target supports hidden visibility],
|
||||||
|
|||||||
232
libga68/configure
vendored
232
libga68/configure
vendored
@@ -669,6 +669,8 @@ LIBTOOL
|
|||||||
RANLIB
|
RANLIB
|
||||||
NM
|
NM
|
||||||
AR
|
AR
|
||||||
|
A68FLAGS
|
||||||
|
A68
|
||||||
am__fastdepCCAS_FALSE
|
am__fastdepCCAS_FALSE
|
||||||
am__fastdepCCAS_TRUE
|
am__fastdepCCAS_TRUE
|
||||||
CCASDEPMODE
|
CCASDEPMODE
|
||||||
@@ -1495,6 +1497,8 @@ Some influential environment variables:
|
|||||||
CPP C preprocessor
|
CPP C preprocessor
|
||||||
CCAS assembler compiler command (defaults to CC)
|
CCAS assembler compiler command (defaults to CC)
|
||||||
CCASFLAGS assembler compiler flags (defaults to CFLAGS)
|
CCASFLAGS assembler compiler flags (defaults to CFLAGS)
|
||||||
|
A68 Algol 68 compiler command
|
||||||
|
A68FLAGS Algol 68 compiler flags
|
||||||
|
|
||||||
Use these variables to override the choices made by `configure' or to help
|
Use these variables to override the choices made by `configure' or to help
|
||||||
it to find libraries and programs with nonstandard names/locations.
|
it to find libraries and programs with nonstandard names/locations.
|
||||||
@@ -5681,6 +5685,230 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
ac_ext=a68
|
||||||
|
ac_compile='$A68 -c $A68FLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$A68 -o conftest$ac_exeext $A68FLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=yes
|
||||||
|
if test -n "$ac_tool_prefix"; then
|
||||||
|
# Extract the first word of "${ac_tool_prefix}ga68", so it can be a program name with args.
|
||||||
|
set dummy ${ac_tool_prefix}ga68; ac_word=$2
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
if ${ac_cv_prog_A68+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if test -n "$A68"; then
|
||||||
|
ac_cv_prog_A68="$A68" # Let the user override the test.
|
||||||
|
else
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
ac_cv_prog_A68="${ac_tool_prefix}ga68"
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
A68=$ac_cv_prog_A68
|
||||||
|
if test -n "$A68"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $A68" >&5
|
||||||
|
$as_echo "$A68" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
if test -z "$ac_cv_prog_A68"; then
|
||||||
|
ac_ct_A68=$A68
|
||||||
|
# Extract the first word of "ga68", so it can be a program name with args.
|
||||||
|
set dummy ga68; ac_word=$2
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
if ${ac_cv_prog_ac_ct_A68+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if test -n "$ac_ct_A68"; then
|
||||||
|
ac_cv_prog_ac_ct_A68="$ac_ct_A68" # Let the user override the test.
|
||||||
|
else
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
ac_cv_prog_ac_ct_A68="ga68"
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
ac_ct_A68=$ac_cv_prog_ac_ct_A68
|
||||||
|
if test -n "$ac_ct_A68"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_A68" >&5
|
||||||
|
$as_echo "$ac_ct_A68" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$ac_ct_A68" = x; then
|
||||||
|
A68=""
|
||||||
|
else
|
||||||
|
case $cross_compiling:$ac_tool_warned in
|
||||||
|
yes:)
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
|
||||||
|
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
||||||
|
ac_tool_warned=yes ;;
|
||||||
|
esac
|
||||||
|
A68=$ac_ct_A68
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
A68="$ac_cv_prog_A68"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$A68"; then
|
||||||
|
if test -n "$ac_tool_prefix"; then
|
||||||
|
# Extract the first word of "${ac_tool_prefix}ga68", so it can be a program name with args.
|
||||||
|
set dummy ${ac_tool_prefix}ga68; ac_word=$2
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
if ${ac_cv_prog_A68+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if test -n "$A68"; then
|
||||||
|
ac_cv_prog_A68="$A68" # Let the user override the test.
|
||||||
|
else
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
ac_cv_prog_A68="$ac_tool_prefix}ga68"
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
A68=$ac_cv_prog_A68
|
||||||
|
if test -n "$A68"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $A68" >&5
|
||||||
|
$as_echo "$A68" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$A68"; then
|
||||||
|
# Extract the first word of "ga68", so it can be a program name with args.
|
||||||
|
set dummy ga68; ac_word=$2
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
if ${ac_cv_prog_A68+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if test -n "$A68"; then
|
||||||
|
ac_cv_prog_A68="$A68" # Let the user override the test.
|
||||||
|
else
|
||||||
|
ac_prog_rejected=no
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
if test "$as_dir/$ac_word$ac_exec_ext" = "false"; then
|
||||||
|
ac_prog_rejected=yes
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
ac_cv_prog_A68="ga68"
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
if test $ac_prog_rejected = yes; then
|
||||||
|
# We found a bogon in the path, so make sure we never use it.
|
||||||
|
set dummy $ac_cv_prog_A68
|
||||||
|
shift
|
||||||
|
if test $# != 0; then
|
||||||
|
# We chose a different compiler from the bogus one.
|
||||||
|
# However, it has the same basename, so the bogon will be chosen
|
||||||
|
# first if we set A68 to just the basename; use the full file name.
|
||||||
|
shift
|
||||||
|
ac_cv_prog_A68="$as_dir/$ac_word${1+' '}$@"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
A68=$ac_cv_prog_A68
|
||||||
|
if test -n "$A68"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $A68" >&5
|
||||||
|
$as_echo "$A68" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Provide some information about the compiler.
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: checking for Algol 68 compiler version" >&5
|
||||||
|
set X $ac_compile
|
||||||
|
ac_compiler=$2
|
||||||
|
{ { ac_try="$ac_compiler --version >&5"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||||
|
$as_echo "$ac_try_echo"; } >&5
|
||||||
|
(eval "$ac_compiler --version >&5") 2>conftest.err
|
||||||
|
ac_status=$?
|
||||||
|
if test -s conftest.err; then
|
||||||
|
sed '10a\
|
||||||
|
... rest of stderr output deleted ...
|
||||||
|
10q' conftest.err >conftest.er1
|
||||||
|
cat conftest.er1 >&5
|
||||||
|
fi
|
||||||
|
rm -f conftest.er1 conftest.err
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }
|
||||||
|
A68FLAGS="-g -O2"
|
||||||
|
ac_ext=c
|
||||||
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
|
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -12601,7 +12829,7 @@ else
|
|||||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||||
lt_status=$lt_dlunknown
|
lt_status=$lt_dlunknown
|
||||||
cat > conftest.$ac_ext <<_LT_EOF
|
cat > conftest.$ac_ext <<_LT_EOF
|
||||||
#line 12604 "configure"
|
#line 12832 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
@@ -12707,7 +12935,7 @@ else
|
|||||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||||
lt_status=$lt_dlunknown
|
lt_status=$lt_dlunknown
|
||||||
cat > conftest.$ac_ext <<_LT_EOF
|
cat > conftest.$ac_ext <<_LT_EOF
|
||||||
#line 12710 "configure"
|
#line 12938 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
|
|||||||
@@ -138,6 +138,7 @@ m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
|
|||||||
m4_define([_AC_ARG_VAR_PRECIOUS],[])
|
m4_define([_AC_ARG_VAR_PRECIOUS],[])
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
AM_PROG_AS
|
AM_PROG_AS
|
||||||
|
AC_PROG_A68
|
||||||
m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
|
m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
|
||||||
AC_SUBST(CFLAGS)
|
AC_SUBST(CFLAGS)
|
||||||
|
|
||||||
|
|||||||
131
libga68/m4/autoconf.m4
Normal file
131
libga68/m4/autoconf.m4
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
#
|
||||||
|
# Minimal autoconf support for the Algol 68 language.
|
||||||
|
# Adapted from the Algol 68 language support files.
|
||||||
|
#
|
||||||
|
|
||||||
|
# ------------------- #
|
||||||
|
# Language selection.
|
||||||
|
# ------------------- #
|
||||||
|
|
||||||
|
# AC_LANG(A68)
|
||||||
|
# ------------
|
||||||
|
AC_LANG_DEFINE([Algol 68], [a68], [A68], [A68], [],
|
||||||
|
[ac_ext=a68
|
||||||
|
ac_compile='$A68 -c $A68FLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
|
||||||
|
ac_link='$A68 -o conftest$ac_exeext $A68FLAGS $LDFLAGS conftest.$ac_ext $LIBS >&AS_MESSAGE_LOG_FD'
|
||||||
|
ac_compiler_gnu=yes
|
||||||
|
])
|
||||||
|
|
||||||
|
# AC_LANG_A68
|
||||||
|
# -----------
|
||||||
|
AU_DEFUN([AC_LANG_A68], [AC_LANG(Algol 68)])
|
||||||
|
|
||||||
|
# ------------------- #
|
||||||
|
# Producing programs.
|
||||||
|
# ------------------- #
|
||||||
|
|
||||||
|
# AC_LANG_PROGRAM(Algol 68)([PROLOGUE], [BODY])
|
||||||
|
# ---------------------------------------------
|
||||||
|
m4_define([AC_LANG_PROGRAM(Algol 68)],
|
||||||
|
[$1
|
||||||
|
begin $2 m4_ifnblank([$2],[;])
|
||||||
|
skip
|
||||||
|
end])
|
||||||
|
|
||||||
|
# _AC_LANG_IO_PROGRAM(Algol 68)
|
||||||
|
# -----------------------------
|
||||||
|
# Produce source that performs I/O.
|
||||||
|
m4_define([_AC_LANG_IO_PROGRAM(Algol 68)],
|
||||||
|
[AC_LANG_PROGRAM([],
|
||||||
|
[if int fd = fcreate ("conftest.out", 8r0777); fd = -1
|
||||||
|
then perror ("error creating conftest.out")
|
||||||
|
elif fclose (fd) = -1 then perror ("error closing conftest.out")
|
||||||
|
fi
|
||||||
|
])])
|
||||||
|
|
||||||
|
# AC_LANG_CALL(Algol 68)(PROLOGUE, FUNCTION)
|
||||||
|
# ------------------------------------------
|
||||||
|
# Avoid conflicting decl of main.
|
||||||
|
m4_define([AC_LANG_CALL(Algol 68)],
|
||||||
|
[AC_LANG_PROGRAM([],[])])
|
||||||
|
|
||||||
|
# AC_LANG_FUNC_LINK_TRY(Algol 68)(FUNCTION)
|
||||||
|
# -----------------------------------------
|
||||||
|
# Try to link a program which calls FUNCTION.
|
||||||
|
m4_define([AC_LANG_FUNC_LINK_TRY(Algol 68)],
|
||||||
|
[AC_LANG_PROGRAM([],[])])
|
||||||
|
|
||||||
|
# AC_LANG_BOOL_COMPILE_TRY(Algol 68)(PROLOGUE, EXPRESSION)
|
||||||
|
# --------------------------------------------------------
|
||||||
|
# Return a program which is valid if EXPRESSION is nonzero.
|
||||||
|
m4_define([AC_LANG_BOOL_COMPILE_TRY(Algol 68)],
|
||||||
|
[AC_LANG_PROGRAM([], [@<:@$2@:>@INT test multiple;
|
||||||
|
0])])
|
||||||
|
|
||||||
|
# AC_LANG_INT_SAVE(Algol 68)(PROLOGUE, EXPRESSION)
|
||||||
|
# ------------------------------------------------
|
||||||
|
m4_define([AC_LANG_INT_SAVE(Algol 68)],
|
||||||
|
[AC_LANG_PROGRAM([
|
||||||
|
proc itoa = (int i) string:
|
||||||
|
begin if i = 0
|
||||||
|
then "0"
|
||||||
|
else int n := ABS i;
|
||||||
|
string res;
|
||||||
|
while n /= 0
|
||||||
|
do int rem = n %* 10;
|
||||||
|
res := (REPR (rem > 9 | (rem - 10) + ABS "a"
|
||||||
|
| rem + ABS "0")
|
||||||
|
+ res);
|
||||||
|
n %:= 10
|
||||||
|
od;
|
||||||
|
(i < 0 | "-" + res | res)
|
||||||
|
fi
|
||||||
|
end;
|
||||||
|
|
||||||
|
int ret := 0;
|
||||||
|
int fd = fopen ("conftest.val", file o wronly)/
|
||||||
|
(fd = -1 | ret := 1; stop);
|
||||||
|
(fputs (fd, itoa ($2)) = 0 | ret := 1; stop)
|
||||||
|
])])
|
||||||
|
|
||||||
|
# ---------------------- #
|
||||||
|
# Looking for compilers. #
|
||||||
|
# ---------------------- #
|
||||||
|
|
||||||
|
# AC_LANG_COMPILER(Algol 68)
|
||||||
|
# --------------------------
|
||||||
|
AC_DEFUN([AC_LANG_COMPILER(Algol 68)],
|
||||||
|
[AC_REQUIRE([AC_PROG_A68])])
|
||||||
|
|
||||||
|
# AC_PROG_A68
|
||||||
|
# ------------
|
||||||
|
AN_MAKEVAR([A68], [AC_PROG_A68])
|
||||||
|
AN_PROGRAM([ga68], [AC_PROG_A68])
|
||||||
|
AC_DEFUN([AC_PROG_A68],
|
||||||
|
[AC_LANG_PUSH(Algol 68)dnl
|
||||||
|
AC_ARG_VAR([A68], [Algol 68 compiler command])dnl
|
||||||
|
AC_ARG_VAR([A68FLAGS], [Algol 68 compiler flags])dnl
|
||||||
|
_AC_ARG_VAR_LDFLAGS()dnl
|
||||||
|
m4_ifval([$1],
|
||||||
|
[AC_CHECK_TOOLS(A68, [$1])],
|
||||||
|
[AC_CHECK_TOOL(A68, ga68)
|
||||||
|
if test -z "$A68"; then
|
||||||
|
if test -n "$ac_tool_prefix"; then
|
||||||
|
AC_CHECK_PROG(A68, [${ac_tool_prefix}ga68], [$ac_tool_prefix}ga68])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -z "$A68"; then
|
||||||
|
AC_CHECK_PROG(A68, ga68, ga68, , , false)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
# Provide some information about the compiler.
|
||||||
|
_AS_ECHO_LOG([checking for _AC_LANG compiler version])
|
||||||
|
set X $ac_compile
|
||||||
|
ac_compiler=$[2]
|
||||||
|
_AC_DO_LIMIT([$ac_compiler --version >&AS_MESSAGE_LOG_FD])
|
||||||
|
m4_expand_once([_AC_COMPILER_EXEEXT])[]dnl
|
||||||
|
m4_expand_once([_AC_COMPILER_OBJEXT])[]dnl
|
||||||
|
A68FLAGS="-g -O2"
|
||||||
|
AC_LANG_POP(Algol 68)dnl
|
||||||
|
])# AC_PROG_A68
|
||||||
94
libga68/sppp.awk
Normal file
94
libga68/sppp.awk
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
# sppp - the Standard Prelude Pre-Processor
|
||||||
|
#
|
||||||
|
# Copyright (C) 2025 Jose E. Marchesi
|
||||||
|
#
|
||||||
|
# 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 3 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; see the file COPYING3. If not see
|
||||||
|
# <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
function error(msg)
|
||||||
|
{
|
||||||
|
print FILENAME ":" msg | "cat 1>&2"
|
||||||
|
exit (1)
|
||||||
|
}
|
||||||
|
|
||||||
|
BEGIN {
|
||||||
|
num_alternatives = 0
|
||||||
|
in_iter = 0
|
||||||
|
template = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
/^[ \t]*\{ Process this file/ {
|
||||||
|
print "{ This is auto-generated from " FILENAME ". Do not edit. }"
|
||||||
|
next
|
||||||
|
}
|
||||||
|
|
||||||
|
/^[ \t]*\{[ \t]*iter[ \t]+/ {
|
||||||
|
if (match ($0, /[ \t]*\{[ \t]*iter[ \t]+([a-zA-Z_]+)[\t ]*(\{.*\}[ \t]*){1,}[ \t]*\}/, matches) == 0)
|
||||||
|
error(FNR ": invalid iter")
|
||||||
|
|
||||||
|
iter_name = matches[1]
|
||||||
|
iter_alts = matches[2]
|
||||||
|
|
||||||
|
# Count and collect alternatives. #
|
||||||
|
iter_num_alternatives = 0
|
||||||
|
while (match (iter_alts, /[ \t]*\{([^\}]*)\}/, matches) > 0)
|
||||||
|
{
|
||||||
|
iter_num_alternatives++
|
||||||
|
iter_alts = substr (iter_alts, RSTART + RLENGTH)
|
||||||
|
iter_names[iter_name] = 1
|
||||||
|
iterators[iter_name,iter_num_alternatives] = matches[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
if (in_iter == 1)
|
||||||
|
{
|
||||||
|
if (iter_num_alternatives != num_alternatives)
|
||||||
|
error(FNR ": invalid number of alternatives in iterator")
|
||||||
|
}
|
||||||
|
|
||||||
|
num_alternatives = iter_num_alternatives
|
||||||
|
in_iter = 1
|
||||||
|
next
|
||||||
|
}
|
||||||
|
|
||||||
|
/^[ \t]*\{[ \t]*reti/ {
|
||||||
|
separator = ""
|
||||||
|
if (match ($0, /[ \t]*\{[ \t]*reti[ \t]+\{([^\}]*)\}/, matches) > 0)
|
||||||
|
separator = matches[1]
|
||||||
|
|
||||||
|
for (nalt = 1; nalt <= num_alternatives; nalt++)
|
||||||
|
{
|
||||||
|
output = template
|
||||||
|
for (iter_name in iter_names)
|
||||||
|
{
|
||||||
|
while (sub ("\\{" iter_name "\\}", iterators[iter_name,nalt], output)) {}
|
||||||
|
}
|
||||||
|
printf "%s%s\n", substr (output, 0, length(output) - 1), nalt < num_alternatives ? separator : ""
|
||||||
|
}
|
||||||
|
|
||||||
|
for (key in iter_names) delete iter_names[key]
|
||||||
|
for (key in iterators) delete iterators[key]
|
||||||
|
in_iter = 0;
|
||||||
|
template = ""
|
||||||
|
num_alternatives = 0
|
||||||
|
next
|
||||||
|
}
|
||||||
|
|
||||||
|
in_iter == 1 {
|
||||||
|
template = template $0 "\n"
|
||||||
|
next
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
print $0
|
||||||
|
}
|
||||||
279
libga68/transput.a68.in
Normal file
279
libga68/transput.a68.in
Normal file
@@ -0,0 +1,279 @@
|
|||||||
|
{ Process this file with sppp.awk }
|
||||||
|
|
||||||
|
{ transput.a68.in - Standard transput.
|
||||||
|
|
||||||
|
Copyright (C) 2025 Jose E. Marchesi
|
||||||
|
|
||||||
|
GCC 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 3, or (at your option) any later
|
||||||
|
version.
|
||||||
|
|
||||||
|
GCC 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.
|
||||||
|
|
||||||
|
Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
permissions described in the GCC Runtime Library Exception, version
|
||||||
|
3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
and a copy of the GCC Runtime Library Exception along with this
|
||||||
|
program; see the files COPYING3 and COPYING.RUNTIME respectively.
|
||||||
|
If not, see <http://www.gnu.org/licenses/>. }
|
||||||
|
|
||||||
|
module Transput =
|
||||||
|
def
|
||||||
|
{ 10.3.2.1. Conversion routines. }
|
||||||
|
|
||||||
|
mode Number = union (
|
||||||
|
{iter L {short short} {short} {} {long} {long long}}
|
||||||
|
{L} int
|
||||||
|
{reti {,}}
|
||||||
|
,
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{L} real
|
||||||
|
{reti {,}}
|
||||||
|
);
|
||||||
|
|
||||||
|
pub proc whole = (Number v, int width) string:
|
||||||
|
case v in
|
||||||
|
{iter L {short short} {short} {} {long} {long long}}
|
||||||
|
{iter L_ {short_short_} {short_} {} {long_} {long_long_}}
|
||||||
|
({L} int x):
|
||||||
|
(int length := ABS width - (x < {L} 0 OR width > 0 | 1 | 0),
|
||||||
|
{L} int n := ABS x;
|
||||||
|
if width = 0
|
||||||
|
then {L} int m := n; length := 0;
|
||||||
|
while m %:= {L} 10; length +:= 1; m /= {L} 0
|
||||||
|
do ~ od
|
||||||
|
fi;
|
||||||
|
string s := subwhole (n, length);
|
||||||
|
if length = 0 OR char_in_string (errorchar, loc int, s)
|
||||||
|
then ABS width * errorchar
|
||||||
|
else (x < {L} 0 | "-" |: width > 0 | "+" | "") +=: s;
|
||||||
|
(width /= 0 | (ABS width - UPB s) * " " +=: s);
|
||||||
|
s
|
||||||
|
fi),
|
||||||
|
({L} real x): fixed (x, width, 0)
|
||||||
|
{reti {,}}
|
||||||
|
esac;
|
||||||
|
|
||||||
|
pub proc fixed = (Number v, int width, after) string:
|
||||||
|
case v in
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
({L} real x):
|
||||||
|
if int length := ABS width - (x < {L} 0 OR width > 0 | 1 | 0);
|
||||||
|
after >= 0 AND (length > after OR width = 0)
|
||||||
|
then {L} real y = ABS x;
|
||||||
|
if width = 0
|
||||||
|
then length := (after = 0 | 1 | 0);
|
||||||
|
while y + {L} .5 * {L} .1 ** after >= {L} 10 ** length
|
||||||
|
do length +:= 1 od;
|
||||||
|
length +:= (after = 0 | 0 | after + 1)
|
||||||
|
fi;
|
||||||
|
string s := subfixed (y, length, after);
|
||||||
|
if ~char_in_string (errorchar, loc int, s)
|
||||||
|
then (length > UPB s AND y < {L} 1.0 | "0" +=: s);
|
||||||
|
(x < {L} 0 | "-" |: width > 0 | "+" | "") +=: s;
|
||||||
|
(width /= 0 | (ABS width - UPB s) * " " +=: s);
|
||||||
|
s
|
||||||
|
elif after > 0
|
||||||
|
then fixed (v, width, after - 1)
|
||||||
|
else ABS width * errorchar
|
||||||
|
fi
|
||||||
|
else { XXX undefined } skip; ABS width * errorchar
|
||||||
|
fi,
|
||||||
|
({L} int x): fixed ({L} real (x), width, after)
|
||||||
|
{reti {,}}
|
||||||
|
esac;
|
||||||
|
|
||||||
|
pub proc float = (Number v, int width, after, exp) string:
|
||||||
|
case v in
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{iter L_ {} {long_} {long_long_}}
|
||||||
|
({L} real x):
|
||||||
|
if int before = ABS width - ABS exp - (after /= 0 | after+1 | 0) - 2;
|
||||||
|
SIGN before + SIGN after > 0
|
||||||
|
then string s, {L} real y := ABS x, int p := 0;
|
||||||
|
{L_}standardize (y, before, after, p);
|
||||||
|
s := fixed (SIGN (x * y), SIGN width * (ABS width - ABS exp - 1),
|
||||||
|
after) + "*^" + whole (p, exp);
|
||||||
|
if exp = 0 OR char_in_string (errorchar, loc int, s)
|
||||||
|
then float (x, width, (after /= 0 | after-1 | 0),
|
||||||
|
(exp > 0 | exp+1 | exp-1))
|
||||||
|
else s
|
||||||
|
fi
|
||||||
|
else { XXX undefined } skip; ABS width * errorchar
|
||||||
|
fi,
|
||||||
|
({L} int x): float ({L} real (x), width, after, exp)
|
||||||
|
{reti {,}}
|
||||||
|
esac;
|
||||||
|
|
||||||
|
{ Returns a string of maximum length `width' containing a decimal
|
||||||
|
representation of the positive integer `v'. }
|
||||||
|
|
||||||
|
proc subwhole = (Number v, int width) string:
|
||||||
|
case v in
|
||||||
|
{iter L {short short} {short} {} {long} {long long}}
|
||||||
|
{iter S {LENG LENG} {LENG} {} {SHORTEN} {SHORTEN SHORTEN}}
|
||||||
|
({L} int x):
|
||||||
|
begin string s, {L} int n := x;
|
||||||
|
while dig_char ({S} (n MOD {L} 10)) +=: s;
|
||||||
|
n %:= {L} 10; n /= {L} 0
|
||||||
|
do ~ od;
|
||||||
|
(UPB s > width | width * errorchar | s)
|
||||||
|
end
|
||||||
|
{reti {,}}
|
||||||
|
esac;
|
||||||
|
|
||||||
|
{ Returns a string of maximum length `width' containing a rounded
|
||||||
|
decimal representation of the positive real number `v'; if
|
||||||
|
`after' is greater than zero, this string contains a decimal
|
||||||
|
point followed by `after' digits. }
|
||||||
|
|
||||||
|
proc subfixed = (Number v, int width, after) string:
|
||||||
|
case v in
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{iter K {} {LENG} {LENG LENG}}
|
||||||
|
{iter S {} {SHORTEN} {SHORTEN SHORTEN}}
|
||||||
|
({L} real x):
|
||||||
|
begin string s, int before := 0;
|
||||||
|
{L} real y := x + {L} .5 * {L} .1 ** after;
|
||||||
|
proc choosedig = (ref {L} real y) char:
|
||||||
|
dig_char ((int c := {S} ENTIER (y *:= {L} 10.0); (c > 9 | c := 9);
|
||||||
|
y -:= {K} c; c));
|
||||||
|
while y >= {L} 10.0 ** before do before +:= 1 od;
|
||||||
|
y /:= {L} 10.0 ** before;
|
||||||
|
to before do s +:= choosedig (y) od;
|
||||||
|
(after > 0 | s +:= ".");
|
||||||
|
to after do s +:= choosedig (y) od;
|
||||||
|
(UPB s > width | width * errorchar | s)
|
||||||
|
end
|
||||||
|
{reti {,}}
|
||||||
|
esac;
|
||||||
|
|
||||||
|
{ Adjusts the value of `y' so that it may be transput according to
|
||||||
|
the format $ n(before)d, n(after)d $; `p' is set so that y * 10
|
||||||
|
** p is equal to the original value of `y'. }
|
||||||
|
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{iter L_ {} {long_} {long_long_}}
|
||||||
|
proc {L_}standardize = (ref {L} real y, int before, after, ref int p) void:
|
||||||
|
begin
|
||||||
|
{L} real g = {L} 10.0 ** before; {L} real h = g * {L} .1;
|
||||||
|
while y >= g do y *:= {L} .1; p +:= 1 od;
|
||||||
|
(y /= {L} 0.0 | while y < h do y *:= {L} 10.0; p -:= 1 od);
|
||||||
|
(y + {L} .5 * {L} .1 ** after >= g | y := h; p +:= 1)
|
||||||
|
end;
|
||||||
|
{reti}
|
||||||
|
|
||||||
|
proc dig_char = (int x) char: "0123456789abcdef"[x+1];
|
||||||
|
|
||||||
|
{ Returns true if the absolute value of the result is
|
||||||
|
<= L max int }
|
||||||
|
|
||||||
|
{iter L {short short} {short} {} {long} {long long}}
|
||||||
|
{iter K {SHORTEN SHORTEN} {SHORTEN} {} {LENG} {LENG LENG}}
|
||||||
|
{iter L_ {short_short_} {short_} {} {long_} {long_long_}}
|
||||||
|
proc string_to_{L_}int = (string s, int radix, ref {L} int i) bool:
|
||||||
|
begin
|
||||||
|
{L} int lr = {K} radix; bool safe := true;
|
||||||
|
{L} int n := {L} 0, {L} int m = {L_}max_int % lr;
|
||||||
|
{L} int m1 = {L_}max_int - m * lr;
|
||||||
|
for i from 2 to UPB s
|
||||||
|
while {L} int dig = {K} char_dig (s[i]);
|
||||||
|
safe := n < m OR n = m AND dig <= m1
|
||||||
|
do n := n * lr + dig od;
|
||||||
|
if safe then i := (s[1] = "+" | n | -n); true else false fi
|
||||||
|
end;
|
||||||
|
{reti}
|
||||||
|
|
||||||
|
{ Returns true if the absolute value of the result is <= L max
|
||||||
|
real. }
|
||||||
|
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{iter K {} {LENG} {LENG LENG}}
|
||||||
|
{iter S {} {SHORTEN} {SHORTEN SHORTEN}}
|
||||||
|
{iter L_ {} {long_} {long_long_}}
|
||||||
|
pub proc string_to_{L_}real = (string s, ref {L} real r) bool:
|
||||||
|
begin
|
||||||
|
int e := UPB s + 1;
|
||||||
|
char_in_string ("^" { XXX unicode 10^ }, e, s);
|
||||||
|
int p := e; char_in_string (".", p, s);
|
||||||
|
int j := 1, length := 0, {L} real x := {L} 0.0;
|
||||||
|
{ Skip leading zeroes: }
|
||||||
|
for i from 2 to e - 1
|
||||||
|
while s[i] = "0" OR s[i] = "." OR s[i] = "_."
|
||||||
|
do j := i od;
|
||||||
|
for i from j + 1 to e - 1 while length < {L_}real_width
|
||||||
|
do
|
||||||
|
if s[i] /= "."
|
||||||
|
then x := x * {L} 10.0 + {K} char_dig (s[j:=i]); length +:= 1
|
||||||
|
fi { all significant digits converted. }
|
||||||
|
od;
|
||||||
|
{ Set preliminary exponent: }
|
||||||
|
int exp := (p > j | p - j - 1 | p - j), expart := 0;
|
||||||
|
{ Convert exponent part: }
|
||||||
|
bool safe := if e < UPB s
|
||||||
|
then {L} int tmp := {K} expart;
|
||||||
|
bool b = string_to_{L_}int (s[e+1:], 10, tmp);
|
||||||
|
expart = {S} tmp;
|
||||||
|
b
|
||||||
|
else true
|
||||||
|
fi;
|
||||||
|
{ Prepare a representation of L max real to compare with the L
|
||||||
|
real value to be delivered: }
|
||||||
|
{L} real max_stag := {L_}max_real, int max_exp := 0;
|
||||||
|
{L_}standardize (max_stag, length, 0, max_exp); exp +:= expart;
|
||||||
|
if ~safe OR (exp > max_exp OR exp = max_exp AND x > max_stag)
|
||||||
|
then false
|
||||||
|
else r := (s[1] = "+" | x | -x) * {L} 10.0 ** exp; true
|
||||||
|
fi
|
||||||
|
end;
|
||||||
|
{reti}
|
||||||
|
|
||||||
|
proc char_dig = (char x) int:
|
||||||
|
(x = "." | 0 | int i; char_in_string (x,i,"0123456789abcdef"); i-1);
|
||||||
|
|
||||||
|
pub proc char_in_string = (char c, ref int i, string s) bool:
|
||||||
|
begin bool found := false;
|
||||||
|
for k from LWB s to UPB s while ~found
|
||||||
|
do (c = s[k] | i := k; found := true) od;
|
||||||
|
found
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ The smallest integral value such that `L max int' may be
|
||||||
|
converted without error using the pattern n(L int width)d }
|
||||||
|
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{iter L_ {} {long_} {long_long_}}
|
||||||
|
pub int {L_}int_width =
|
||||||
|
(int c := 1; while {L} 10 ** (c - 1) < {L} .1 * {L_}max_int do c +:= 1 od;
|
||||||
|
c);
|
||||||
|
{reti}
|
||||||
|
|
||||||
|
{ The smallest integral value such that different string are
|
||||||
|
produced by conversion of `1.0' and of `1.0 + L small real'
|
||||||
|
using the pattern d .n(L real width - 1)d }
|
||||||
|
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{iter L_ {} {long_} {long_long_}}
|
||||||
|
{iter S {} {SHORTEN} {SHORTEN SHORTEN}}
|
||||||
|
pub int {L_}real_width = 1 - {S} ENTIER ({L_}ln ({L_}small_real) / {L_}ln ({L} 10));
|
||||||
|
{reti}
|
||||||
|
|
||||||
|
{ The smallest integral value such that `L max real' may be
|
||||||
|
converted without error using the pattern
|
||||||
|
d .n(L real width - 1)d e n(L exp with)d }
|
||||||
|
|
||||||
|
{iter L {} {long} {long long}}
|
||||||
|
{iter L_ {} {long_} {long_long_}}
|
||||||
|
{iter S {} {SHORTEN} {SHORTEN SHORTEN}}
|
||||||
|
pub int {L_}exp_width =
|
||||||
|
1 + {S} ENTIER ({L_}ln ({L_}ln ({L_}max_real) / {L_}ln ({L} 10)) / {L_}ln ({L} 10));
|
||||||
|
{reti}
|
||||||
|
|
||||||
|
skip
|
||||||
|
fed
|
||||||
Reference in New Issue
Block a user