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