rpms/gprolog/devel gprolog-1.2.19-gcc4.patch, NONE, 1.1 gprolog-1.2.19-noexecstack.patch, NONE, 1.1 gprolog-1.2.19-test.patch, NONE, 1.1 gprolog.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Jochen Schmitt (s4504kr)
fedora-extras-commits at redhat.com
Mon May 15 15:48:38 UTC 2006
Author: s4504kr
Update of /cvs/extras/rpms/gprolog/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2471/devel
Modified Files:
.cvsignore sources
Added Files:
gprolog-1.2.19-gcc4.patch gprolog-1.2.19-noexecstack.patch
gprolog-1.2.19-test.patch gprolog.spec
Log Message:
auto-import gprolog-1.2.19-5 on branch devel from gprolog-1.2.19-5.src.rpm
gprolog-1.2.19-gcc4.patch:
--- NEW FILE gprolog-1.2.19-gcc4.patch ---
--- gprolog-1.2.19.orig/src/BipsFD/fd_bool_c.c 2005-06-14 03:40:09.000000000 +1200
+++ gprolog-1.2.19/src/BipsFD/fd_bool_c.c 2006-01-23 09:46:19.000000000 +1300
@@ -201,6 +201,8 @@
static void
Fd_Bool_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
bool_tbl[NOT] = Functor_Arity(Create_Atom("#\\"), 1);
bool_tbl[EQUIV] = Functor_Arity(Create_Atom("#<=>"), 2);
--- gprolog-1.2.19.orig/src/BipsFD/math_supp.c 2005-06-14 03:40:10.000000000 +1200
+++ gprolog-1.2.19/src/BipsFD/math_supp.c 2006-01-23 09:46:39.000000000 +1300
@@ -206,6 +206,8 @@
static void
Math_Supp_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
arith_tbl[PLUS_1] = Functor_Arity(ATOM_CHAR('+'), 1);
arith_tbl[PLUS_2] = Functor_Arity(ATOM_CHAR('+'), 2);
arith_tbl[MINUS_1] = Functor_Arity(ATOM_CHAR('-'), 1);
--- gprolog-1.2.19.orig/src/BipsPl/all_solut_c.c 2005-06-14 03:40:10.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/all_solut_c.c 2006-01-23 09:47:09.000000000 +1300
@@ -123,6 +123,8 @@
static void
All_Solut_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
exist_2 = Functor_Arity(ATOM_CHAR('^'), 2);
}
--- gprolog-1.2.19.orig/src/BipsPl/arith_inl_c.c 2005-06-14 03:40:10.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/arith_inl_c.c 2006-01-23 09:47:20.000000000 +1300
@@ -99,6 +99,8 @@
static void
Arith_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
ArithInf arith_info;
arith_tbl = Hash_Alloc_Table(START_ARITH_TBL_SIZE, sizeof(ArithInf));
--- gprolog-1.2.19.orig/src/BipsPl/bc_supp.c 2005-06-14 03:40:10.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/bc_supp.c 2006-01-23 09:47:35.000000000 +1300
@@ -283,6 +283,8 @@
static void
Byte_Code_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
BCWord *p = op_tbl;
Op_In_Tbl("get_variable", GET_X_VARIABLE);
--- gprolog-1.2.19.orig/src/BipsPl/debugger_c.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/debugger_c.c 2006-01-23 09:47:53.000000000 +1300
@@ -164,6 +164,8 @@
static void
Debug_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
New_Object(My_System_Directives, NULL);
}
--- gprolog-1.2.19.orig/src/BipsPl/dynam_supp.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/dynam_supp.c 2006-01-23 09:20:39.000000000 +1300
@@ -601,7 +601,8 @@
dyn = scan->dyn;
if (dyn->first_erased_cl) /* we must keep it - free impossible */
- (unsigned long) (dyn->first_erased_cl) |= 1; /* mark it */
+ dyn->first_erased_cl = (DynCInf *)
+ ((unsigned long) (dyn->first_erased_cl) | 1); /* mark it */
}
--- gprolog-1.2.19.orig/src/BipsPl/error_supp.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/error_supp.c 2006-01-23 09:48:04.000000000 +1300
@@ -117,6 +117,8 @@
static void
Error_Supp_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
type_atom = Create_Atom("atom");
type_atomic = Create_Atom("atomic");
type_byte = Create_Atom("byte");
--- gprolog-1.2.19.orig/src/BipsPl/expand_c.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/expand_c.c 2006-01-23 09:48:16.000000000 +1300
@@ -92,6 +92,8 @@
static void
Expand_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
int atom_dcg;
atom_dcg = Create_Atom("-->");
--- gprolog-1.2.19.orig/src/BipsPl/flag_c.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/flag_c.c 2006-01-23 09:48:33.000000000 +1300
@@ -77,7 +77,6 @@
static int atom_on;
static int atom_off;
-static int atom_error;
static int atom_warning;
static int atom_fail;
@@ -118,6 +117,8 @@
static void
Flag_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
atom_flag_tbl[FLAG_BOUNDED] = Create_Atom("bounded");
atom_flag_tbl[FLAG_MAX_INTEGER] = Create_Atom("max_integer");
atom_flag_tbl[FLAG_MIN_INTEGER] = Create_Atom("min_integer");
--- gprolog-1.2.19.orig/src/BipsPl/foreign_supp.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/foreign_supp.c 2006-01-23 09:48:42.000000000 +1300
@@ -98,6 +98,8 @@
static void
Foreign_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
goal_H = H;
H = H + MAX_ARITY + 1;
--- gprolog-1.2.19.orig/src/BipsPl/g_var_inl_c.c 2005-06-16 05:04:06.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/g_var_inl_c.c 2006-01-23 09:49:06.000000000 +1300
@@ -167,6 +167,8 @@
static void
G_Var_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
atom_g_array = Create_Atom("g_array");
atom_g_array_auto = Create_Atom("g_array_auto");
atom_g_array_extend = Create_Atom("g_array_extend");
--- gprolog-1.2.19.orig/src/BipsPl/oper_c.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/oper_c.c 2006-01-23 09:49:19.000000000 +1300
@@ -86,6 +86,8 @@
static void
Oper_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
char *a[7] = { "fx", "fy", "xf", "yf", "xfx", "xfy", "yfx" };
int i;
--- gprolog-1.2.19.orig/src/BipsPl/os_interf_c.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/os_interf_c.c 2006-01-23 09:49:33.000000000 +1300
@@ -94,8 +94,6 @@
static int atom_dt;
-static int atom_read;
-static int atom_write;
static int atom_execute;
static int atom_search;
@@ -138,6 +136,8 @@
static void
Os_Interf_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
atom_dt = Create_Atom("dt");
atom_read = Create_Atom("read");
--- gprolog-1.2.19.orig/src/BipsPl/parse_supp.c 2005-06-14 03:40:11.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/parse_supp.c 2006-01-23 09:49:53.000000000 +1300
@@ -124,6 +124,8 @@
static void
Parse_Supp_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
atom_var = Create_Atom("var");
atom_string = Create_Atom("string");
atom_punct = Create_Atom("punct");
--- gprolog-1.2.19.orig/src/BipsPl/pretty_c.c 2005-06-14 03:40:12.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/pretty_c.c 2006-01-23 09:50:07.000000000 +1300
@@ -112,6 +112,8 @@
static void
Pretty_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
atom_clause = Create_Atom(":-");
atom_dcg = Create_Atom("-->");
atom_if = Create_Atom("->");
--- gprolog-1.2.19.orig/src/BipsPl/sockets_c.c 2005-06-14 03:40:12.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/sockets_c.c 2006-01-23 09:50:20.000000000 +1300
@@ -100,6 +100,8 @@
static void
Socket_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
#ifdef _WIN32
WORD versReqstd = MAKEWORD( 2, 2); // Current Winsock 2 DLL's
WSADATA wsaData;
--- gprolog-1.2.19.orig/src/BipsPl/sort_c.c 2005-06-14 03:40:12.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/sort_c.c 2006-01-23 09:50:31.000000000 +1300
@@ -68,6 +68,8 @@
static void
Sort_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
minus_2 = Functor_Arity(ATOM_CHAR('-'), 2);
}
--- gprolog-1.2.19.orig/src/BipsPl/write_supp.c 2005-06-14 03:40:12.000000000 +1200
+++ gprolog-1.2.19/src/BipsPl/write_supp.c 2006-01-23 09:50:54.000000000 +1300
@@ -143,6 +143,8 @@
static void
Write_Supp_Initializer(void)
{
+ SET_OBJ_CHAIN_STOP;
+
atom_dots = Create_Atom("...");
curly_brackets_1 = Functor_Arity(atom_curly_brackets, 1);
--- gprolog-1.2.19.orig/src/EngineFD/fd_inst.h 2005-06-14 03:40:14.000000000 +1200
+++ gprolog-1.2.19/src/EngineFD/fd_inst.h 2006-01-23 09:52:35.000000000 +1300
@@ -111,8 +111,8 @@
#define CHAIN_RECORD_FRAME_SIZE 2
-#define CF_Pointer(rec_adr) ((WamWord *) (rec_adr[0]))
-#define Next_Chain(rec_adr) ((WamWord *) (rec_adr[1]))
+#define CF_Pointer(rec_adr) (*(WamWord **) &(rec_adr[0]))
+#define Next_Chain(rec_adr) (*(WamWord **) &(rec_adr[1]))
@@ -123,9 +123,9 @@
#define OFFSET_OF_OPTIM_POINTER 1 /* this offset must corresponds to */
-#define AF_Pointer(cf) ((WamWord *) (cf[0]))
-#define Optim_Pointer(cf) ((WamWord *) (cf[1])) /* this cell */
-#define Cstr_Address(cf) ((long (*)()) (cf[2]))
+#define AF_Pointer(cf) (*(WamWord **) &(cf[0]))
+#define Optim_Pointer(cf) (*(WamWord **) &(cf[1])) /* this cell */
+#define Cstr_Address(cf) (*(long (**)()) &(cf[2]))
--- gprolog-1.2.19.orig/src/EnginePl/obj_chain.c 2005-06-14 03:40:15.000000000 +1200
+++ gprolog-1.2.19/src/EnginePl/obj_chain.c 2006-01-23 09:40:36.000000000 +1300
@@ -24,6 +24,8 @@
/* $Id: gprolog-1.2.19-gcc4.patch,v 1.1 2006/03/21 08:28:26 keri Exp $ */
+#define OBJ_CHAIN 1
+
#include <stdio.h>
#include "obj_chain.h"
@@ -181,7 +183,7 @@
{
if (p->magic1 != OBJ_CHAIN_MAGIC_1 || p->magic2 != OBJ_CHAIN_MAGIC_2
|| (q = p->next) < (ObjChain **) &obj_chain_begin
- || q > &obj_chain_end || *q != p)
+ || q > &obj_chain_end)
{
#ifdef DEBUG
#if 0
--- gprolog-1.2.19.orig/src/EnginePl/obj_chain.h 2005-06-14 03:40:15.000000000 +1200
+++ gprolog-1.2.19/src/EnginePl/obj_chain.h 2006-01-23 09:31:49.000000000 +1300
@@ -83,18 +83,24 @@
#define ATTR_TO_KEEP_UNREF_STATIC_VAR __attribute__ ((unused))
#endif
+#ifdef OBJ_CHAIN
+ObjChain *obj_chain_stop_extern = NULL;
+#else
+
#ifdef OBJ_INIT
static void (OBJ_INIT) ();
#ifndef _MSC_VER
-extern ObjChain *obj_chain_stop;
+static ObjChain obj_chain_start_mark;
+
+static ObjChain *obj_chain_stop = &obj_chain_start_mark;
static ObjChain obj_chain_start ATTR_TO_KEEP_UNREF_STATIC_VAR =
{ OBJ_CHAIN_MAGIC_1, OBJ_CHAIN_MAGIC_2, &obj_chain_stop, OBJ_INIT };
-static ObjChain *obj_chain_stop = &obj_chain_start;
+#define SET_OBJ_CHAIN_STOP {}
#if 0 /* antoher way to force to keep the chain : a fct using obj_chain_start
which references the initializer function (OBJ_INIT) */
@@ -114,3 +120,5 @@
#endif /* _MSC_VER */
#endif /* OBJ_INIT */
+
+#endif /* OBJ_CHAIN */
--- gprolog-1.2.19.orig/src/EnginePl/test_oc_defs.h 2005-06-14 03:13:43.000000000 +1200
+++ gprolog-1.2.19/src/EnginePl/test_oc_defs.h 2006-01-23 09:45:21.000000000 +1300
@@ -25,6 +25,7 @@
\
static void Init_Tables() \
{ \
+ SET_OBJ_CHAIN_STOP; \
printf("object <%s> found\n",name); \
printf(" start at:%#lx\n",(long) &obj_chain_start); \
printf(" &name:%#lx\n",(long) &name); \
--- gprolog-1.2.19.orig/src/EnginePl/wam_inst.h 2005-06-14 03:40:15.000000000 +1200
+++ gprolog-1.2.19/src/EnginePl/wam_inst.h 2006-01-23 09:16:11.000000000 +1300
@@ -67,10 +67,10 @@
#define ENVIR_STATIC_SIZE 3
-#define CPE(e) ((WamCont) (e[-1]))
-#define BCIE(e) ((WamWord) (e[-2]))
-#define EE(e) ((WamWord *) (e[-3]))
-#define Y(e, y) ((WamWord) (e[-4 - (y)]))
+#define CPE(e) (*(WamCont *) &(e[-1]))
+#define BCIE(e) (*(WamWord *) &(e[-2]))
+#define EE(e) (*(WamWord **) &(e[-3]))
+#define Y(e, y) (*(WamWord *) &(e[-4 - (y)]))
#define ENVIR_NAMES {"CPE", "BCIE", "EE"}
@@ -81,15 +81,15 @@
#define CHOICE_STATIC_SIZE 8
-#define ALTB(b) ((CodePtr) (b[-1]))
-#define CPB(b) ((WamCont) (b[-2]))
-#define BCIB(b) ((WamWord) (b[-3]))
-#define EB(b) ((WamWord *) (b[-4]))
-#define BB(b) ((WamWord *) (b[-5]))
-#define HB(b) ((WamWord *) (b[-6]))
-#define TRB(b) ((WamWord *) (b[-7]))
-#define CSB(b) ((WamWord *) (b[-8]))
-#define AB(b, a) ((WamWord) (b[-9 - (a)]))
+#define ALTB(b) (*(CodePtr *) &(b[-1]))
+#define CPB(b) (*(WamCont *) &(b[-2]))
+#define BCIB(b) (*(WamWord *) &(b[-3]))
+#define EB(b) (*(WamWord **) &(b[-4]))
+#define BB(b) (*(WamWord **) &(b[-5]))
+#define HB(b) (*(WamWord **) &(b[-6]))
+#define TRB(b) (*(WamWord **) &(b[-7]))
+#define CSB(b) (*(WamWord **) &(b[-8]))
+#define AB(b, a) (*(WamWord *) &(b[-9 - (a)]))
#define CHOICE_NAMES {"ALTB", "CPB", "BCIB", "EB", "BB", \
"HB", "TRB", "CSB"}
gprolog-1.2.19-noexecstack.patch:
--- NEW FILE gprolog-1.2.19-noexecstack.patch ---
--- gprolog-1.2.19.orig/src/Ma2Asm/ix86_any.c 2005-06-14 03:40:15.000000000 +1200
+++ gprolog-1.2.19/src/Ma2Asm/ix86_any.c 2006-03-05 09:26:21.000000000 +1300
@@ -164,6 +164,9 @@
void
Asm_Stop(void)
{
+ Label_Printf("#ifdef __ELF__");
+ Label_Printf(".section .note.GNU-stack,\"\", at progbits");
+ Label_Printf("#endif");
}
--- gprolog-1.2.19.orig/src/Ma2Asm/powerpc_any.c 2005-06-14 03:40:22.000000000 +1200
+++ gprolog-1.2.19/src/Ma2Asm/powerpc_any.c 2006-03-05 09:40:34.000000000 +1300
@@ -161,6 +161,9 @@
void
Asm_Stop(void)
{
+ Label_Printf("#ifdef __ELF__");
+ Label_Printf(".section .note.GNU-stack,\"\", at progbits");
+ Label_Printf("#endif");
}
gprolog-1.2.19-test.patch:
--- NEW FILE gprolog-1.2.19-test.patch ---
--- gprolog-1.2.19.orig/src/Makefile.in 2005-06-14 03:13:45.000000000 +1200
+++ gprolog-1.2.19/src/Makefile.in 2006-01-23 11:52:07.000000000 +1300
@@ -145,7 +145,8 @@
# --- CHECKS --- #
check:
- @echo "No checks implemented (yet)."
+ (cd EnginePl; $(MAKE) test_oc) || exit 1
+ . ./SETVARS; (cd Ma2Asm; $(MAKE) check) || exit 1
# --- CLEAN --- #
--- gprolog-1.2.19.orig/src/EnginePl/Makefile.in 2005-06-14 03:13:43.000000000 +1200
+++ gprolog-1.2.19/src/EnginePl/Makefile.in 2006-01-23 15:37:43.000000000 +1300
@@ -134,6 +134,7 @@
$(CC) @CC_EXE_NAME_OPT at test_oc@EXE_SUFFIX@ obj_begin1 at OBJ_SUFFIX@ \
$(TEST_OC_OBJS) obj_chain1 at OBJ_SUFFIX@ test_oc at OBJ_SUFFIX@ \
obj_end1 at OBJ_SUFFIX@
+ ./test_oc || exit 1
clean-test_oc:
rm -f obj_begin1 at OBJ_SUFFIX@ obj_chain1 at OBJ_SUFFIX@ obj_end1 at OBJ_SUFFIX@ \
--- gprolog-1.2.19.orig/src/Ma2Asm/Makefile.in 2005-06-14 03:13:45.000000000 +1200
+++ gprolog-1.2.19/src/Ma2Asm/Makefile.in 2006-01-23 13:21:58.000000000 +1300
@@ -46,19 +46,17 @@
FC=-DFAST
check at OBJ_SUFFIX@: check.c
- if [ "$$FC" = "Y" ]; then FCFLAGS='-DFAST'; fi; \
- $(GPLC) -C "$(CFLAGS) $$FCFLAGS" -c check.c
+ $(GPLC) -C "$(CFLAGS)" -c check.c
check_ma at ASM_SUFFIX@: check_ma.ma ma2asm at EXE_SUFFIX@
- if [ "$$FC" = "Y" ]; then cp check_ma.ma tmp.ma; \
- else sed -e 's/ fast / /' check_ma.ma >tmp.ma; fi; \
- $(GPLC) -S --comment tmp.ma -o check_ma at ASM_SUFFIX@
+ $(GPLC) -S --comment check_ma.ma -o check_ma at ASM_SUFFIX@
check_ma at OBJ_SUFFIX@: check_ma at ASM_SUFFIX@
$(GPLC) -c check_ma at ASM_SUFFIX@
check at EXE_SUFFIX@: $(CHECK_OBJS)
$(CC) $(CFLAGS) @CC_EXE_NAME_OPT at check@EXE_SUFFIX@ $(CHECK_OBJS)
+ ./check || exit 1
clean-check:
rm -f check at OBJ_SUFFIX@ check_ma at ASM_SUFFIX@ check_ma at OBJ_SUFFIX@ check at EXE_SUFFIX@
--- gprolog-1.2.19.orig/src/Ma2Asm/check.c 2005-06-14 03:40:15.000000000 +1200
+++ gprolog-1.2.19/src/Ma2Asm/check.c 2006-01-23 21:20:11.000000000 +1300
@@ -30,24 +30,11 @@
#define IF_NO_FD_FILE
#include "engine_pl.h"
-#ifndef FAST /* see Makefile */
-
-#ifdef FC_USED_TO_COMPILE_CORE
-#warning NO FC
+#ifndef FC_USED_TO_COMPILE_CORE
#undef FC
#define FC
#endif
-#elif !defined(FC_USED_TO_COMPILE_CORE)
-
-#error FAST defined but cannot compile for FC
-
-#else
-
-#warning WITH FC
-
-#endif
-
/*---------------------------------*
* Constants *
*---------------------------------*/
@@ -272,7 +259,7 @@
-void
+void FC
Allocate(int x) /* only to update the register for E */
{
}
@@ -398,7 +385,7 @@
void FC test_call_c1(void);
-void
+void FC
test_call_c1(void)
{
x++;
@@ -456,7 +443,7 @@
void FC test_arg_int1(int a, int b, int c, int d);
-void
+void FC
test_arg_int1(int a, int b, int c, int d)
{
if (a != 12 || b != -1 || c != 4095 || d != 123456789)
@@ -480,7 +467,7 @@
void FC test_arg_double1(double a, double b, double c);
-void
+void FC
test_arg_double1(double a, double b, double c)
{
if (a != 12.456 || b != -1.3e-102 || c != -3.141593)
@@ -504,7 +491,7 @@
void FC test_arg_string1(char *a, char *b);
-void
+void FC
test_arg_string1(char *a, char *b)
{
#ifdef DEBUG
@@ -533,7 +520,7 @@
void FC test_arg_mem_l1(long a, long b, long *c, long d, long e, long *f);
-void
+void FC
test_arg_mem_l1(long a, long b, long *c, long d, long e, long *f)
{
if (a != 128 || b != 12345 || c != (long *) test_arg_mem_l
@@ -560,7 +547,7 @@
void FC test_arg_x1(WamWord a, WamWord *b, WamWord c, WamWord *d);
-void
+void FC
test_arg_x1(WamWord a, WamWord *b, WamWord c, WamWord *d)
{
if (a != 123987 || b != &X(0) || c != 987654321 || d != &X(128))
@@ -586,7 +573,7 @@
void FC test_arg_y1(WamWord a, WamWord *b, WamWord c, WamWord *d);
-void
+void FC
test_arg_y1(WamWord a, WamWord *b, WamWord c, WamWord *d)
{
if (a != 1928374 || b != &Y(E, 0) || c != 456789 || d != &Y(E, 6))
@@ -613,7 +600,7 @@
void FC test_arg_fl_array1(long a, long b, long *c, long *d);
-void
+void FC
test_arg_fl_array1(long a, long b, long *c, long *d)
{
#ifdef DEBUG
@@ -645,7 +632,7 @@
void FC test_arg_fd_array1(double a, double b, double *c, double *d);
-void
+void FC
test_arg_fd_array1(double a, double b, double *c, double *d)
{
if (a != 1.2e30 || b != -1.234567 || c != foreign_double
@@ -684,7 +671,7 @@
WamWord k, WamWord *l, WamWord m, WamWord *n,
double o);
-void
+void FC
test_call_c_lot_args1(WamWord n0, WamWord n1, WamWord n2, WamWord n3,
WamWord n4, WamWord n5,
void (*a) (), long b, int c, int d, double e, char *f,
@@ -716,7 +703,7 @@
long FC test_jump_ret1(long addr);
-long
+long FC
test_jump_ret1(long addr)
{
#ifdef DEBUG
@@ -733,7 +720,7 @@
void FC test_jump_ret2(void);
-void
+void FC
test_jump_ret2(void)
{
#ifdef DEBUG
@@ -762,7 +749,7 @@
int FC test_fail_ret1(void);
-int
+int FC
test_fail_ret1(void)
{
x++;
@@ -816,7 +803,7 @@
long FC test_move_ret_x1(void);
-long
+long FC
test_move_ret_x1(void)
{
x++;
@@ -843,7 +830,7 @@
long FC test_move_ret_y1(void);
-long
+long FC
test_move_ret_y1(void)
{
x++;
@@ -870,7 +857,7 @@
long FC test_move_ret_fl1(void);
-long
+long FC
test_move_ret_fl1(void)
{
x++;
@@ -897,7 +884,7 @@
double FC test_move_ret_fd1(void);
-double
+double FC
test_move_ret_fd1(void)
{
x++;
@@ -922,7 +909,7 @@
long FC test_switch_ret1(void);
-long
+long FC
test_switch_ret1(void)
{
return swt[i];
@@ -931,7 +918,7 @@
void FC test_switch_ret2(int k);
-void
+void FC
test_switch_ret2(int k)
{
if (k != i)
@@ -968,13 +955,13 @@
Fd_Init_Engine(void)
{
}
-int
+int FC
Create_Atom(char *name)
{
return 1;
}
-PredInf *
+PredInf * FC
Lookup_Pred(int func, int arity)
{
return NULL;
@@ -985,7 +972,7 @@
{
}
AtomInf atom_tbl[1];
-void
+void FC
Create_Choice_Point(CodePtr codep_alt, int arity)
{
}
--- NEW FILE gprolog.spec ---
Name: gprolog
Version: 1.2.19
Release: 5%{?dist}
Summary: GNU Prolog is a free Prolog compiler
Group: Development/Languages
License: GPL
URL: http://gprolog.inria.fr
Source: ftp://ftp.inria.fr/INRIA/Projects/contraintes/gprolog/unstable/gprolog-1.2.19.tar.gz
# the patches comming from the gentoo project.
Patch1: gprolog-1.2.19-gcc4.patch
Patch2: gprolog-1.2.19-noexecstack.patch
Patch3: gprolog-1.2.19-test.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
GNU Prolog is a native Prolog compiler with constraint solving over
finite domains (FD) developed by Daniel Diaz
(http://loco.inria.fr/~diaz).
GNU Prolog is a very efficient native compiler producing (small)
stand-alone executables. GNU-Prolog also offers a classical
top-level+debugger.
GNU Prolog conforms to the ISO standard for Prolog but also includes a
lot of extensions (global variables, DCG, sockets, OS interface,...).
GNU Prolog also includes a powerful constraint solver over finite
domains with many predefined constraints+heuristics.
%package examples
Summary: Examples for GNU Prolog
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
%description examples
Examples for GNU Prolog.
%package docs
Summary: Documentation for GNU Prolog
Group: Documentation
Requires: %{name} = %{version}-%{release}
%description docs
Documentation for GNU Prolog.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
cd src
# gprolog only acccept -O0 and don't like -fomit-frame-pointer
CFLG="$(echo $RPM_OPT_FLAGS | sed -e "s/\-O2/-O0/" | \
sed -e "s/\-fomit-frame-pointer//")"
# sed -i -e "s:TXT_FILES = @TXT_FILES@:TXT_FILES=:" Makefile.in
./configure \
--with-install-dir=$RPM_BUILD_ROOT%{_libdir}/gprolog-%{version} \
--without-links-dir --without-examples-dir \
--disable-fast-call --with-doc-dir=dist-doc \
--with-c-flags="$CFLG"
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
cd src
(
make install
mkdir $RPM_BUILD_ROOT%{_bindir}
cd $RPM_BUILD_ROOT%{_libdir}/gprolog-%{version}/bin
for i in *; do
ln -s ../lib/gprolog-%{version}/bin/$i $RPM_BUILD_ROOT%{_bindir}/$i
done
)
rm -f dist-doc/*.{chm,dvi,ps}
rm -f dist-doc/compil-scheme.pdf
rm -f dist-doc/debug-box.pdf
for file in ChangeLog COPYING NEWS VERSION
do
rm -f $RPM_BUILD_ROOT%{_libdir}/gprolog-%{version}/$file
done
cd ../ExamplesPl
rm -rf BINPROLOG CIAO SICSTUS
rm -rf SWI WAMCC XSB YAP
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc README COPYING ChangeLog NEWS PROBLEMS VERSION
%{_bindir}/*
%{_libdir}/gprolog-%{version}
%files examples
%defattr(-,root,root,-)
%doc ExamplesC ExamplesFD ExamplesPl
%files docs
%defattr(-,root,root,-)
%doc src/dist-doc/*
%changelog
* Mon May 15 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.2.19-5
- Remove compil-scheme.pdf and debug-box.pdf from the docs package
* Wed Apr 19 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.2.19-3
- Delete unnecessaries files from ExamplesPI
* Thu Mar 30 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.2.19-2
- Remove sed-command
- Correct typo about usable compiler options
- Add comment about the source of the patches
* Wed Mar 29 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.2.19-1
- Initial RPM package for Fedora Extras
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/gprolog/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 15 May 2006 15:47:10 -0000 1.1
+++ .cvsignore 15 May 2006 15:48:38 -0000 1.2
@@ -0,0 +1 @@
+gprolog-1.2.19.tar.gz
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/gprolog/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 15 May 2006 15:47:10 -0000 1.1
+++ sources 15 May 2006 15:48:38 -0000 1.2
@@ -0,0 +1 @@
+f884e48b48a73c0785f2e6441bf5b4d7 gprolog-1.2.19.tar.gz
More information about the fedora-extras-commits
mailing list