diff --git a/C/absmi.c b/C/absmi.c index 9302656d8..ac9a7b4f4 100755 --- a/C/absmi.c +++ b/C/absmi.c @@ -7975,11 +7975,6 @@ Yap_absmi(int inp) JMPNext(); } } - if (!LOCAL_DebugOn) { - PREG = pe->cs.p_code.TrueCodeOfPred; - UNLOCKPE(24,pe); - JMPNext(); - } UNLOCKPE(25,pe); d0 = pe->ArityOfPE; @@ -12641,23 +12636,23 @@ Yap_absmi(int inp) ENDD(d0); ENDOp(); - Op(p_func2s_y_cv, yxn); + Op(p_func2s_y_cv, yxc); /* A1 is a variable */ restart_func2s_y_cv: #ifdef LOW_LEVEL_TRACER if (Yap_do_low_level_trace) { RESET_VARIABLE(H); - H[1] = PREG->u.yxn.c; - H[2] = XREG(PREG->u.yxn.xi); + H[1] = PREG->u.yxc.c; + H[2] = XREG(PREG->u.yxc.xi); low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(FunctorFunctor,0)),H); } #endif /* LOW_LEVEL_TRACE */ /* We have to build the structure */ BEGD(d0); - d0 = PREG->u.yxn.c; + d0 = PREG->u.yxc.c; /* we do, let's get the third argument */ BEGD(d1); - d1 = XREG(PREG->u.yxn.xi); + d1 = XREG(PREG->u.yxc.xi); deref_head(d1, func2s_y_unk_cv); func2s_y_nvar_cv: /* Uuuff, the second and third argument are bound */ @@ -12683,8 +12678,8 @@ Yap_absmi(int inp) /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; - PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),Osbpp),l); + pt1 = YREG + PREG->u.yxc.y; + PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); GONext(); @@ -12709,7 +12704,7 @@ Yap_absmi(int inp) if (pt1+d1 > ENV || pt1+d1 > (CELL *)B) { /* make sure we have something to show for our trouble */ saveregs(); - if (!Yap_gcl((1+d1)*sizeof(CELL), 0, YREG, NEXTOP(NEXTOP(PREG,yxn),Osbpp))) { + if (!Yap_gcl((1+d1)*sizeof(CELL), 0, YREG, NEXTOP(NEXTOP(PREG,yxc),Osbpp))) { Yap_NilError(OUT_OF_STACK_ERROR,LOCAL_ErrorMessage); setregs(); JMPNext(); @@ -12728,15 +12723,15 @@ Yap_absmi(int inp) /* else if arity is 0 just pass d0 through */ /* Ding, ding, we made it */ BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; - PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),Osbpp),l); + pt1 = YREG + PREG->u.yxc.y; + PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); GONext(); } else if (d1 == 0) { BEGP(pt1); - pt1 = YREG + PREG->u.yxn.y; - PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),Osbpp),l); + pt1 = YREG + PREG->u.yxc.y; + PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),Osbpp),l); INITIALIZE_PERMVAR(pt1,d0); ENDP(pt1); GONext(); diff --git a/C/atoms.c b/C/atoms.c index 2a85a53cc..be71ed600 100644 --- a/C/atoms.c +++ b/C/atoms.c @@ -1459,7 +1459,7 @@ p_atom_split( USES_REGS1 ) Yap_Error(TYPE_ERROR_INTEGER, t2, "$atom_split/4"); return(FALSE); } - if ((len = IntOfTerm(t2)) < 0) { + if ((Int)(len = IntOfTerm(t2)) < 0) { Yap_Error(DOMAIN_ERROR_NOT_LESS_THAN_ZERO, t2, "$atom_split/4"); return(FALSE); } @@ -2025,7 +2025,7 @@ check_sub_atom_bef(int max, Atom at, Atom nat) } else { size_t len = strlen(RepAtom(nat)->StrOfAE); int min = max- len; - if (min - len < 0) return FALSE; + if ((Int)(min - len) < 0) return FALSE; if (IsWideAtom(at)) { wchar_t *p1; char *p2; @@ -2269,7 +2269,7 @@ init_sub_atom( USES_REGS1 ) if ((mask & (SUB_ATOM_HAS_MIN|SUB_ATOM_HAS_SIZE)) == (SUB_ATOM_HAS_MIN|SUB_ATOM_HAS_SIZE)) { if (min+len > sz) cut_fail(); - if ((after = (sz-(min+len))) < 0) cut_fail(); + if ((Int)(after = (sz-(min+len))) < 0) cut_fail(); nat = build_new_atom(mask, wp, p, min, len PASS_REGS); if (!nat) cut_fail(); out = Yap_unify(ARG4,MkIntegerTerm(after)) && diff --git a/C/cdmgr.c b/C/cdmgr.c index 4a947cbc2..6b8efb436 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -2246,6 +2246,7 @@ addclause(Term t, yamop *cp, int mode, Term mod, Term *t4ref) if ((pflags & (UserCPredFlag|CArgsPredFlag|NumberDBPredFlag|AtomDBPredFlag|TestPredFlag|AsmPredFlag|CPredFlag|BinaryPredFlag)) || (p->ModuleOfPred == PROLOG_MODULE && mod != TermProlog && mod) ) { + /* printf("p=%p p->PredFlags=%lx p->cs.p_code.NOfClauses=%ld\n", p, p->PredFlags, p->cs.p_code.NOfClauses) */ addcl_permission_error(RepAtom(at), Arity, FALSE); UNLOCKPE(30,p); return TermNil; diff --git a/C/gprof.c b/C/gprof.c index 613358bf2..6da969a5b 100755 --- a/C/gprof.c +++ b/C/gprof.c @@ -102,6 +102,8 @@ typedef greg_t context_reg; #else +#define CONTEXT_PC(scv) NULL +#define CONTEXT_BP(scv) NULL #ifdef LOW_PROF #undef LOW_PROF #endif diff --git a/C/init.c b/C/init.c index b59b31bf2..493b58d9c 100755 --- a/C/init.c +++ b/C/init.c @@ -919,7 +919,6 @@ InitFlags(void) yap_flags[WRITE_QUOTED_STRING_FLAG] = FALSE; /* we do not garantee safe assert in parallel mode */ yap_flags[ALLOW_ASSERTING_STATIC_FLAG] = TRUE; - yap_flags[GENERATE_DEBUG_INFO_FLAG] = TRUE; /* current default */ yap_flags[INDEXING_MODE_FLAG] = INDEX_MODE_MULTI; yap_flags[TABLING_MODE_FLAG] = 0; diff --git a/C/iopreds.c b/C/iopreds.c index 0bd63a23a..d807c0600 100755 --- a/C/iopreds.c +++ b/C/iopreds.c @@ -334,11 +334,7 @@ syntax_error (TokEntry * tokptr, IOSTREAM *st, Term *outp) { char s[2]; s[1] = '\0'; - if (Ord (info) == 'l') { - s[0] = '('; - } else { - s[0] = (char)info; - } + s[0] = (char)info; ts[0] = MkAtomTerm(Yap_LookupAtom(s)); } } @@ -561,7 +557,6 @@ static Int Term tcomms = Deref(ARG7); int store_comments = IsVarTerm(tcomms); - Yap_setCurrentSourceLocation(&inp_stream); if (IsVarTerm(tmod)) { tmod = CurrentModule; } else if (!IsAtomTerm(tmod)) { diff --git a/C/scanner.c b/C/scanner.c index b1c1149ef..be5366a8e 100644 --- a/C/scanner.c +++ b/C/scanner.c @@ -854,6 +854,7 @@ Yap_tokenizer(IOSTREAM *inp_stream, int store_comments, Term *tposp) ch = getchr(inp_stream); } *tposp = Yap_StreamPosition(inp_stream); + Yap_setCurrentSourceLocation(&inp_stream); LOCAL_StartLine = inp_stream->posbuf.lineno; do { wchar_t och; @@ -917,6 +918,7 @@ Yap_tokenizer(IOSTREAM *inp_stream, int store_comments, Term *tposp) } CHECK_SPACE(); *tposp = Yap_StreamPosition(inp_stream); + Yap_setCurrentSourceLocation(&inp_stream); } goto restart; } else { @@ -1235,6 +1237,7 @@ Yap_tokenizer(IOSTREAM *inp_stream, int store_comments, Term *tposp) } CHECK_SPACE(); *tposp = Yap_StreamPosition(inp_stream); + Yap_setCurrentSourceLocation(&inp_stream); } } goto restart; diff --git a/C/signals.c b/C/signals.c index c3f5ed92c..59dc7eba4 100644 --- a/C/signals.c +++ b/C/signals.c @@ -116,24 +116,6 @@ p_creep_allowed( USES_REGS1 ) return FALSE; } -static Int -p_debug_on( USES_REGS1 ) -{ - Term t = Deref(ARG1); - if (IsVarTerm(t)) { - if (LOCAL_DebugOn) - return Yap_unify(MkAtomTerm(AtomTrue),ARG1); - else - return Yap_unify(MkAtomTerm(AtomFalse),ARG1); - } - if (t == MkAtomTerm(AtomTrue)) - LOCAL_DebugOn = TRUE; - else - LOCAL_DebugOn = FALSE; - return TRUE; -} - - void Yap_signal(yap_signals sig) { @@ -370,7 +352,6 @@ Yap_InitSignalCPreds(void) Yap_InitCPred("$stop_creeping", 0, p_stop_creeping, SafePredFlag); Yap_InitCPred ("$first_signal", 1, p_first_signal, SafePredFlag|SyncPredFlag); Yap_InitCPred ("$continue_signals", 0, p_continue_signals, SafePredFlag|SyncPredFlag); - Yap_InitCPred("$debug_on", 1, p_debug_on, 0); Yap_InitCPred("$creep_allowed", 0, p_creep_allowed, 0); #ifdef DEBUG Yap_InitCPred("$debug", 1, p_debug, SafePredFlag|SyncPredFlag); diff --git a/C/stdpreds.c b/C/stdpreds.c index d57b9ade7..487ff4a56 100644 --- a/C/stdpreds.c +++ b/C/stdpreds.c @@ -1706,11 +1706,6 @@ p_set_yap_flags( USES_REGS1 ) return(FALSE); yap_flags[STACK_DUMP_ON_ERROR_FLAG] = value; break; - case GENERATE_DEBUG_INFO_FLAG: - if (value != 0 && value != 1) - return(FALSE); - yap_flags[GENERATE_DEBUG_INFO_FLAG] = value; - break; case INDEXING_MODE_FLAG: if (value < INDEX_MODE_OFF || value > INDEX_MODE_MAX) return(FALSE); diff --git a/H/Yap.h b/H/Yap.h index f21bd4786..3238cb694 100755 --- a/H/Yap.h +++ b/H/Yap.h @@ -359,7 +359,6 @@ typedef enum HALT_AFTER_CONSULT_FLAG = 15, FAST_BOOT_FLAG = 16, STACK_DUMP_ON_ERROR_FLAG = 17, - GENERATE_DEBUG_INFO_FLAG = 18, INDEXING_MODE_FLAG = 19, TABLING_MODE_FLAG = 20, VARS_CAN_HAVE_QUOTE_FLAG = 21, diff --git a/H/YapOpcodes.h b/H/YapOpcodes.h index d27088bdd..384139f42 100644 --- a/H/YapOpcodes.h +++ b/H/YapOpcodes.h @@ -322,7 +322,7 @@ OPCODE(p_func2s_cv ,xxc), OPCODE(p_func2s_vc ,xxn), OPCODE(p_func2s_y_vv ,yxx), - OPCODE(p_func2s_y_cv ,yxn), + OPCODE(p_func2s_y_cv ,yxc), OPCODE(p_func2s_y_vc ,yxn), OPCODE(p_func2f_xx ,xxx), OPCODE(p_func2f_xy ,xxy), diff --git a/H/Yapproto.h b/H/Yapproto.h index 1fa32fa27..ad7f8393e 100644 --- a/H/Yapproto.h +++ b/H/Yapproto.h @@ -126,6 +126,7 @@ Int YAP_Execute(struct pred_entry *, CPredicate); Int YAP_ExecuteFirst(struct pred_entry *, CPredicate); Int YAP_ExecuteNext(struct pred_entry *, CPredicate); Int YAP_ExecuteOnCut(struct pred_entry *, CPredicate, struct cut_c_str *); +Int YAP_RunGoalOnce(Term); /* cdmgr.c */ Term Yap_all_calls(void); diff --git a/H/amidefs.h b/H/amidefs.h index fbb2c224b..a0abc52da 100644 --- a/H/amidefs.h +++ b/H/amidefs.h @@ -254,6 +254,7 @@ typedef enum { The meaning and type of the symbols in a abstract machine instruction is: + A: Atom b: arity (Int) b: bitmap (CELL *) c: constant, is a Term @@ -864,6 +865,12 @@ typedef struct yami { Int c; CELL next; } yxn; + struct { + yslot y; + wamreg xi; + Term c; + CELL next; + } yxc; } u; } yamop; diff --git a/H/compile.h b/H/compile.h index 665d35321..393ffe528 100644 --- a/H/compile.h +++ b/H/compile.h @@ -209,7 +209,11 @@ typedef struct PSEUDO { CELL rnd1; union { Int oprnd2; +#if MIN_ARRAY == 0 + CELL opseqt[MIN_ARRAY]; +#else CELL opseqt[1]; +#endif } ops; } PInstr; diff --git a/H/findclause.h b/H/findclause.h index 089b4f20a..9c246826d 100644 --- a/H/findclause.h +++ b/H/findclause.h @@ -1317,6 +1317,13 @@ } cl = NEXTOP(cl,yx); break; + case _p_func2s_y_cv: + if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxc.y))) { + clause->Tag = (CELL)NULL; + return; + } + cl = NEXTOP(cl,yxc); + break; case _p_and_y_vc: if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { clause->Tag = (CELL)NULL; @@ -1345,13 +1352,6 @@ } cl = NEXTOP(cl,yxn); break; - case _p_func2s_y_cv: - if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { - clause->Tag = (CELL)NULL; - return; - } - cl = NEXTOP(cl,yxn); - break; case _p_func2s_y_vc: if (!(nofregs = delete_regcopy(myregs, nofregs, cl->u.yxn.y))) { clause->Tag = (CELL)NULL; diff --git a/H/rclause.h b/H/rclause.h index 12d088594..acac29bcd 100644 --- a/H/rclause.h +++ b/H/rclause.h @@ -750,12 +750,18 @@ restore_opcodes(yamop *pc, yamop *max USES_REGS) pc->u.yx.x = XAdjust(pc->u.yx.x); pc = NEXTOP(pc,yx); break; + /* instructions type yxc */ + case _p_func2s_y_cv: + pc->u.yxc.y = YAdjust(pc->u.yxc.y); + pc->u.yxc.xi = XAdjust(pc->u.yxc.xi); + pc->u.yxc.c = ConstantTermAdjust(pc->u.yxc.c); + pc = NEXTOP(pc,yxc); + break; /* instructions type yxn */ case _p_and_y_vc: case _p_arg_y_cv: case _p_div_y_cv: case _p_div_y_vc: - case _p_func2s_y_cv: case _p_func2s_y_vc: case _p_minus_y_cv: case _p_or_y_vc: diff --git a/H/saveclause.h b/H/saveclause.h index 31a4c8df9..06b86bbfc 100644 --- a/H/saveclause.h +++ b/H/saveclause.h @@ -766,12 +766,18 @@ CHECK(save_X(stream, pc->u.yx.x)); pc = NEXTOP(pc,yx); break; + /* instructions type yxc */ + case _p_func2s_y_cv: + CHECK(save_Y(stream, pc->u.yxc.y)); + CHECK(save_X(stream, pc->u.yxc.xi)); + CHECK(save_ConstantTerm(stream, pc->u.yxc.c)); + pc = NEXTOP(pc,yxc); + break; /* instructions type yxn */ case _p_and_y_vc: case _p_arg_y_cv: case _p_div_y_cv: case _p_div_y_vc: - case _p_func2s_y_cv: case _p_func2s_y_vc: case _p_minus_y_cv: case _p_or_y_vc: diff --git a/H/walkclause.h b/H/walkclause.h index ac69e0447..313b8d545 100644 --- a/H/walkclause.h +++ b/H/walkclause.h @@ -565,12 +565,15 @@ case _put_y_var: pc = NEXTOP(pc,yx); break; + /* instructions type yxc */ + case _p_func2s_y_cv: + pc = NEXTOP(pc,yxc); + break; /* instructions type yxn */ case _p_and_y_vc: case _p_arg_y_cv: case _p_div_y_cv: case _p_div_y_vc: - case _p_func2s_y_cv: case _p_func2s_y_vc: case _p_minus_y_cv: case _p_or_y_vc: diff --git a/Makefile.in b/Makefile.in index 84328c0b6..baaa7ad44 100755 --- a/Makefile.in +++ b/Makefile.in @@ -697,7 +697,7 @@ mycb: $(srcdir)/mycb.c $(CC) $(CFLAGS) $(srcdir)/mycb.c -o mycb all: startup.yss - @ENABLE_GECODE@ @INSTALL_DLLS@ (cd library/gecode; $(MAKE)) + @ENABLE_GECODE@ @INSTALL_DLLS@ (cd packages/gecode; $(MAKE)) @INSTALL_MPI@ (cd library/lammpi; $(MAKE)) @INSTALL_MATLAB@ (cd library/matlab; $(MAKE)) @INSTALL_DLLS@ (cd library/matrix; $(MAKE)) @@ -782,7 +782,7 @@ install_unix: startup.yss libYap.a @INSTALL_DLLS@ (cd packages/yap-lbfgs; $(MAKE) install) @INSTALL_DLLS@ (cd library/system; $(MAKE) install) @INSTALL_DLLS@ (cd library/tries; $(MAKE) install) - @ENABLE_GECODE@ @INSTALL_DLLS@ (cd library/gecode; $(MAKE) install) + @ENABLE_GECODE@ @INSTALL_DLLS@ (cd packages/gecode; $(MAKE) install) @ENABLE_CLIB@ @INSTALL_DLLS@ (cd packages/clib; $(MAKE) install) @ENABLE_HTTP@ @INSTALL_DLLS@ (cd packages/http; $(MAKE) install) @ENABLE_HTTP@ @INSTALL_DLLS@ (cd packages/http; $(MAKE) install-examples) @@ -795,7 +795,7 @@ install_unix: startup.yss libYap.a @ENABLE_RDF@ @INSTALL_DLLS@ (cd packages/RDF; $(MAKE) install) @ENABLE_SEMWEB@ @INSTALL_DLLS@ (cd packages/semweb; $(MAKE) install) @ENABLE_SGML@ @INSTALL_DLLS@ (cd packages/sgml; $(MAKE) install) - @ENABLE_ZLIB@ @INSTALL_DLLS@ (cd packages/zlib; $(MAKE) @ZLIB_INSTALL@) + @ENABLE_ZLIB@ @INSTALL_DLLS@ (cd packages/zlib; $(MAKE) install) @ENABLE_LIBARCHIVE@ @INSTALL_DLLS@ (cd packages/archive; $(MAKE) install) @ENABLE_ODBC@ @INSTALL_DLLS@ (cd packages/odbc; $(MAKE) install) @ENABLE_CLPBN_BP@ @INSTALL_DLLS@ (cd packages/CLPBN/horus; $(MAKE) install) @@ -916,7 +916,7 @@ depend: $(HEADERS) $(C_SOURCES) clean: clean_docs rm -f *.o *~ *.BAK *.a - @ENABLE_GECODE@ @INSTALL_DLLS@ (cd library/gecode; $(MAKE) clean) + @ENABLE_GECODE@ @INSTALL_DLLS@ (cd packages/gecode; $(MAKE) clean) @INSTALL_MPI@ (cd library/lammpi; $(MAKE) clean) @INSTALL_MATLAB@ (cd library/matlab; $(MAKE) clean) @INSTALL_DLLS@ (cd library/matrix; $(MAKE) clean) diff --git a/config.h.in b/config.h.in index e89340c7d..f944e7939 100755 --- a/config.h.in +++ b/config.h.in @@ -122,6 +122,8 @@ #undef HAVE_WINSOCK2_H #undef HAVE_LIBLOADERAPI_H +#undef UUID_H + #if __MINGW32__ #define __WINDOWS__ 1 #endif diff --git a/configure b/configure index c374d1c98..bcc048935 100755 --- a/configure +++ b/configure @@ -1,9 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69. +# Generated by GNU Autoconf 2.68. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -132,31 +134,6 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -190,8 +167,7 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" +test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -236,25 +212,21 @@ IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : @@ -356,14 +328,6 @@ $as_echo X"$as_dir" | } # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -485,10 +449,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -523,16 +483,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -544,8 +504,28 @@ else as_mkdir_p=false fi -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -622,26 +602,58 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS LIBOBJS ENABLE_ODBC -ODBC_PLTARGETS -ODBC_TARGETS +ENABLE_LIBARCHIVE +CUDA_LDFLAGS +CUDA_CPPFLAGS +CUDA_SHLIB_LD +ENABLE_CUDA +NVCC +PYTHON_LIBS +PYTHON_INCLUDES +ENABLE_PYTHON +PYTHON_TARGET +PYTHON +GECODE_EXTRALIBS +GECODE_VERSION +GECODE_MAJOR +ENABLE_GECODE +ZLIBS +ZLIB_PLTARGETS +ZLIB_TARGETS +CUDD_CPPFLAGS +CUDD_LDFLAGS +ENABLE_BDDLIB +ENABLE_CUDD ODBC_LIBS ODBC_LDFLAGS ODBC_CFLAGS -ENABLE_LIBARCHIVE +ODBC_PLTARGETS +ODBC_TARGETS +ARCHIVE_LIBS ARCHIVE_PLTARGETS ARCHIVE_TARGETS -ARCHIVE_LIBS -ZLIB_INSTALL -ZLIB_PLTARGETS -ZLIB_TARGETS -ZLIBS -MAILDROP_CFLAGS -RFC2045CHARSET -EXTRA_LIBS_FOR_SWIDLLS +CLIB_LIBUUID +CLIB_CRYPTOBJ CLIB_CRYPTLIBS CLIB_NETLIBS CLIB_PLTARGETS CLIB_TARGETS +_ACJNI_JAVAC +JAVADOC +JAR +uudecode +JAVA +JAVAC +CMDEXT +JAVA_PRELOAD +JPLLDFLAGS +JPLCFLAGS +JUNIT +JAVALIBS +JAVACFLAGS +JAVA_HOME +REXE +EXTRA_LIBS_FOR_SWIDLLS CLIB_PTHREADS CHR_TARGETS PLTARGETS @@ -650,10 +662,6 @@ IN_SWI IN_YAP PROLOG_SYSTEM M4GENABSMI -PYTHON_LIBS -PYTHON_INCLUDES -ENABLE_PYTHON -PYTHON_TARGET INSTALL_PRISM MATLAB_INCLUDE INSTALL_MATLAB @@ -662,10 +670,6 @@ REAL_INCLUDES REAL_TARGET ENABLE_REAL ENABLE_MINISAT -CUDD_CPPFLAGS -CUDD_LDFLAGS -ENABLE_BDDLIB -ENABLE_CUDD EXTRA_INCLUDES_FOR_WIN32 ENABLE_WINCONSOLE STATIC_MODE @@ -677,6 +681,7 @@ MPILDF INSTALL_MPI YAPMPILIB IN_UNIX +LIBJPL ENABLE_CLPBN_BP ENABLE_ZLIB ENABLE_SGML @@ -690,10 +695,6 @@ ENABLE_HTTP ENABLE_CLPQR ENABLE_CLIB ENABLE_CHR -CUDA_LDFLAGS -CUDA_CPPFLAGS -CUDA_SHLIB_LD -ENABLE_CUDA NO_BUILTIN_REGEXP YAP_EXTRAS SONAMEFLAG @@ -723,26 +724,9 @@ CPLINT_LDFLAGS CPLINT_CFLAGS CPLINT_LIBS MPI_CC -_ACJNI_JAVAC -JAVADOC -JAR -uudecode -JAVA -JAVAC -CMDEXT -JAVA_PRELOAD -LIBJPL -JPLLDFLAGS -JPLCFLAGS -JUNIT -JAVALIBS -JAVACFLAGS -JAVA_HOME ENABLE_PRISM -ENABLE_GECODE -NVCC -PYTHON -REXE +EGREP +GREP INSTALL_INFO AR RANLIB @@ -753,11 +737,6 @@ LN_S DefTrailSpace DefStackSpace DefHeapSpace -GECODE_MAJOR -GECODE_EXTRALIBS -GECODE_VERSION -EGREP -GREP target_os target_vendor target_cpu @@ -826,7 +805,6 @@ SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking -enable_gecode enable_tabling enable_or_parallelism enable_rational_trees @@ -856,14 +834,8 @@ enable_cplint enable_clpbn_bp with_gmp with_R -with_python with_judy with_minisat -with_cuda -with_cudd -enable_myddas -enable_myddas_stats -enable_myddas_top_level with_java with_readline with_matlab @@ -874,8 +846,16 @@ with_stack_space with_trail_space with_max_workers with_max_threads +enable_myddas +enable_myddas_stats +enable_myddas_top_level with_junit -enable_mimecharset +with_time +with_odbc +with_cudd +enable_gecode +with_python +with_cuda ' ac_precious_vars='build_alias host_alias @@ -1344,6 +1324,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1501,7 +1483,6 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-gecode install gecode library --enable-tabling support tabling --enable-or-parallelism support or-parallelism as: copy,sba,a-cow,threads --enable-rational-trees support infinite rational trees @@ -1532,18 +1513,15 @@ Optional Features: --enable-myddas[=DIR] enable the MYDDAS library --enable-myddas-stats enable the MYDDAS library statistics support --enable-myddas-top-level enable the MYDDAS top-level support to MySQL - --enable-mimecharset=charset Default MIME charset to set on new messages + --enable-gecode install gecode library Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gmp=DIR use GNU Multiple Precision in DIR --with-R=DIR interface to R language - --with-python=DIR interface to R language --with-judy=DIR UDI needs judy library --enable-minisat use minisat interface - --enable-cuda use minisat interface - --with-cudd=DIR use CUDD package in DIR --with-java=JAVA_HOME use Java instalation in JAVA_HOME --with-readline=DIR use GNU Readline Library in DIR --with-matlab=DIR use MATLAB package in DIR @@ -1555,6 +1533,11 @@ Optional Packages: --with-max-workers=integer maximum number of or-parallel processes --with-max-threads=integer maximum number of or-parallel processes --with-junit=PATH Specify location of the junit JAR file + --without-time Exclude alarm library + --with-odbc= Location of ODBC include/lib + --with-cudd=DIR use CUDD package in DIR + --with-python=DIR interface to R language + --enable-cuda use minisat interface Some influential environment variables: CC C compiler command @@ -1635,9 +1618,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.69 +generated by GNU Autoconf 2.68 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1761,6 +1744,52 @@ fi } # ac_fn_cxx_try_compile +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +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_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using @@ -1921,52 +1950,6 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_header_compile -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -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_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly @@ -2051,8 +2034,7 @@ int main () { static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2068,8 +2050,7 @@ int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2095,8 +2076,7 @@ int main () { static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2112,8 +2092,7 @@ int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2147,8 +2126,7 @@ int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2332,7 +2310,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2708,7 +2686,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2748,7 +2726,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2801,7 +2779,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2842,7 +2820,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -2900,7 +2878,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2944,7 +2922,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3390,7 +3368,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -struct stat; +#include +#include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3640,7 +3619,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3684,7 +3663,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3887,7 +3866,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4067,6 +4046,8 @@ cat >>confdefs.h <<_ACEOF _ACEOF + + case "$target_cpu" in i*86*) YAP_TARGET=i386 @@ -4083,410 +4064,6 @@ case "$target_cpu" in esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -ac_fn_c_check_header_mongrel "$LINENO" "gecode/support/config.hpp" "ac_cv_header_gecode_support_config_hpp" "$ac_includes_default" -if test "x$ac_cv_header_gecode_support_config_hpp" = xyes; then : - have_gecode=yes -else - have_gecode=no -fi - - -# Check whether --enable-gecode was given. -if test "${enable_gecode+set}" = set; then : - enableval=$enable_gecode; use_gecode="$enableval" - if test "$use_gecode" = yes; then - if test "$have_gecode" = no; then - as_fn_error $? "cannot enable gecode: gecode library not found" "$LINENO" 5 - fi - fi -else - use_gecode=$have_gecode -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dynamic arrays are supported" >&5 -$as_echo_n "checking if dynamic arrays are supported... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - void foo(int n) { int a[n]; a[1]=0; } -int -main () -{ -foo(3); - ; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -$as_echo "#define HAVE_DYNARRAY 1" >>confdefs.h - - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -GECODE_VERSION=unknown-gecode-version -GECODE_EXTRALIBS="-lgecodesupport -lgecodekernel -lgecodeint -lgecodeset -lgecodesearch" - - -if test "$use_gecode" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking gecode version" >&5 -$as_echo_n "checking gecode version... " >&6; } - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include "gecode/support/config.hpp" -#include - -int -main () -{ - - FILE* out = fopen("conftest.out","w"); - fprintf(out,"%s\n",GECODE_VERSION); - fclose(out); - return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - GECODE_VERSION=$(cat conftest.out) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GECODE_VERSION" >&5 -$as_echo "$GECODE_VERSION" >&6; } -else - as_fn_error $? "cannot determine gecode version" "$LINENO" 5 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - case "$target_os" in - *darwin*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -framework gecode is required" >&5 -$as_echo_n "checking if -framework gecode is required... " >&6; } - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - saved_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -framework gecode" - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include "gecode/int.hh" - -int -main () -{ - -Gecode::Exception e("",""); -return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - GECODE_EXTRALIBS="-framework gecode" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - 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 - - CXXFLAGS="$saved_CXXFLAGS" - ;; - esac -fi -GECODE_MAJOR=`echo $GECODE_VERSION| sed 's/\(^.\).*/\1/'` - - # Check whether --enable-tabling was given. if test "${enable_tabling+set}" = set; then : enableval=$enable_tabling; tabling="$enableval" @@ -4693,7 +4270,7 @@ if test "${with_gmp+set}" = set; then : LDFLAGS="$LDFLAGS -L${yap_cv_gmp}/lib" LIBS="$LIBS -L${yap_cv_gmp}/lib" CPPFLAGS="$CPPFLAGS -I${yap_cv_gmp}/include" - CFLAGS="$CFLAGS -I${yap_cv_gmp}/include" + CFLAGS="$CFLAGS -I${yap_cv_gmp}/include" fi else yap_cv_gmp=yes @@ -4714,20 +4291,6 @@ else fi -# Check whether --with-python was given. -if test "${with_python+set}" = set; then : - withval=$with_python; if test "$withval" = yes; then - yap_cv_python=yes - elif test "$withval" = no; then - yap_cv_python=no - else - yap_cv_python=$withval - fi -else - yap_cv_python=no -fi - - # Check whether --with-judy was given. if test "${with_judy+set}" = set; then : @@ -4759,72 +4322,6 @@ fi -# Check whether --with-cuda was given. -if test "${with_cuda+set}" = set; then : - withval=$with_cuda; if test "$withval" = yes; then - yap_cv_cuda=/usr - elif test "$withval" = no; then - yap_cv_cuda=no - else - yap_cv_cuda="$withval" - fi -else - yap_cv_cuda=no -fi - - - -# Check whether --with-cudd was given. -if test "${with_cudd+set}" = set; then : - withval=$with_cudd; yap_cv_cudd="$withval" -else - yap_cv_cudd=no -fi - - -# Check whether --enable-myddas was given. -if test "${enable_myddas+set}" = set; then : - enableval=$enable_myddas; if test "$enableval" = yes; then - yap_cv_myddas=/usr - elif test "$enableval" = no; then - yap_cv_myddas=no - else - yap_cv_myddas=$enable_myddas - LDFLAGS="$LDFLAGS -L${yap_cv_myddas}/lib " - CPPFLAGS="$CPPFLAGS -I${yap_cv_myddas}/include " - ODBC_LDFLAGS="-L${yap_cv_myddas}/lib " - ODBC_CFLAGS="-I${yap_cv_myddas}/include " - fi -else - yap_cv_myddas=/usr -fi - - -# Check whether --enable-myddas-stats was given. -if test "${enable_myddas_stats+set}" = set; then : - enableval=$enable_myddas_stats; if test "$yap_cv_myddas" = no; then - myddasstats=no - else - myddasstats="$enableval" - fi -else - myddasstats=no -fi - - -# Check whether --enable-myddas-top-level was given. -if test "${enable_myddas_top_level+set}" = set; then : - enableval=$enable_myddas_top_level; if test "$yap_cv_myddas" = no; then - myddastoplevel=no - else - myddastoplevel="$enableval" - fi -else - myddastoplevel=no -fi - - - # Check whether --with-java was given. if test "${with_java+set}" = set; then : withval=$with_java; if test "$withval" = yes; then @@ -5086,7 +4583,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu CXXFLAGS=-std=c++0x { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CXX supports -std-c++0x" >&5 $as_echo_n "checking whether CXX supports -std-c++0x... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5125,22 +4623,6 @@ fi -if test "$yap_cv_cudd" = no -then - ENABLE_CUDD="@# " - ENABLE_BDDLIB="@# " -else - if test "$dynamic_bdd" = yes - then - ENABLE_BDDLIB="" - else - ENABLE_BDDLIB="@# " - fi - ENABLE_CUDD="" -fi - - - if test "$use_condor" = yes then static_compilation="yes" @@ -5298,7 +4780,7 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -5371,7 +4853,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5411,7 +4893,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5463,7 +4945,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5503,7 +4985,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5557,7 +5039,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_INSTALL_INFO="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5598,7 +5080,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SHELL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5632,7 +5114,8 @@ then then target_cpu=x86_64 YAP_TARGET=amd64 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lws2_32" >&5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lws2_32" >&5 $as_echo_n "checking for main in -lws2_32... " >&6; } if ${ac_cv_lib_ws2_32_main+:} false; then : $as_echo_n "(cached) " >&6 @@ -6031,13 +5514,11 @@ _ACEOF fi yap_cv_readline=no - CLIB_NETLIBS="-lws2_32 -lpsapi -lgdi32" if test "$prefix" = "NONE" then if test "$target_win64" = yes then prefix="\${SYSTEMDRIVE}/Yap64" - CLIB_NETLIBS="-lws2_32 -lwsock32 -lpsapi -lgdi32" else prefix="\${SYSTEMDRIVE}/Yap" fi @@ -6564,188 +6045,6 @@ fi fi -if test "$yap_cv_R" = "no"; then - REAL_TARGET="dummy" - ENABLE_REAL="@# " -elif test -e "$srcdir"/packages/real/Makefile.in ; then - REAL_TARGET="ritf" - ENABLE_REAL="" - for ac_prog in R -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_REXE+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$REXE"; then - ac_cv_prog_REXE="$REXE" # 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_REXE="$ac_prog" - $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 -REXE=$ac_cv_prog_REXE -if test -n "$REXE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $REXE" >&5 -$as_echo "$REXE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$REXE" && break -done -test -n "$REXE" || REXE=""none"" - - if test "$yap_cv_R" = "yes" - then - case "$target_os" in - *darwin*) - REAL_INCLUDES="-I/Library/Frameworks/R.framework/Headers" - REAL_LIBS="-framework R -L /Library/Frameworks/R.framework/Libraries -lR" - ;; - *cygwin*|*mingw*) - REAL_INCLUDES="$($REXE CMD config --cppflags | grep -v ^WARNING)" - REAL_LIBS="$($REXE CMD config --ldflags | grep -v ^WARNING)" - ;; - **) - if test -n "$R_HOME" ; then - REAL_INCLUDES="-I$R_HOME/include" - elif test "$YAP_TARGET" = amd64 -a -d /usr/lib64/R/include ; then - REAL_INCLUDES="-I/usr/lib64/R/include" - elif test -d /usr/include/R; then - REAL_INCLUDES="-I/usr/include/R" - elif test -d /usr/share/R/include; then - REAL_INCLUDES="-I/usr/share/R/include" - else - REAL_INCLUDES="$($REXE CMD config --cppflags | grep -v ^WARNING)" - fi - if test -n "$R_HOME" ; then - REAL_LIBS="-L $R_HOME/lib -lR" - elif test "$YAP_TARGET" = amd64 -a -d /usr/lib64/R/lib; then - REAL_LIBS="-L /usr/lib64/R/lib -lR" - elif test -d /usr/lib/R; then - REAL_LIBS="-L /usr/lib/R/lib -lR" - else - REAL_LIBS="$($REXE CMD config --ldflags | grep -v ^WARNING)" - fi - ;; - esac - else - case "$target_os" in - *cygwin*|*mingw*) - REAL_INCLUDES="-I\"$yap_cv_R/include\"" - if test "$YAP_TARGET" = i386; then - REAL_LIBS="\"$yap_cv_R/bin/i386/R.dll\"" - else - REAL_LIBS="\"$yap_cv_R/bin/x64/R.dll\"" - fi - ;; - *) - REAL_INCLUDES="-I$yap_cv_R/include" - REAL_LIBS="-L $yap_cv_R/lib -lR" - ;; - esac - fi - OLD_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $REAL_INCLUDES" - for ac_header in Rinterface.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "Rinterface.h" "ac_cv_header_Rinterface_h" "$ac_includes_default" -if test "x$ac_cv_header_Rinterface_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_RINTERFACE_H 1 -_ACEOF - -fi - -done - - CFLAGS="$OLD_CFLAGS" -else - REAL_TARGET="dummy" - ENABLE_REAL="@# " -fi - -if test "$yap_cv_python" = "no"; then - PYTHON_TARGET="dummy" - ENABLE_PYTHON="@# " -elif test -e "$srcdir"/packages/python/Makefile.in ; then - PYTHON_TARGET="pitf" - ENABLE_PYTHON="" - if test "$yap_cv_python" = "yes" - then - for ac_prog in python -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$PYTHON"; then - ac_cv_prog_PYTHON="$PYTHON" # 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_PYTHON="$ac_prog" - $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 -PYTHON=$ac_cv_prog_PYTHON -if test -n "$PYTHON"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -$as_echo "$PYTHON" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$PYTHON" && break -done -test -n "$PYTHON" || PYTHON=""none"" - - else - PYTHON="$yap_cv_python" - fi - PYTHONHOME=`$PYTHON -c'import sys; print sys.prefix'` - PYTHONVERSION=`"$PYTHON" -c "import sys; print sys.version[:3]"` - PYTHON_LIBS="-L $PYTHONHOME/lib -lpython$PYTHONVERSION" - PYTHON_INCLUDES="-I $PYTHONHOME/include/python$PYTHONVERSION" -else - PYTHON_TARGET="dummy" - ENABLE_PYTHON="@# " -fi - if test "$yap_cv_judy" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Judy1Set in -lJudy" >&5 $as_echo_n "checking for Judy1Set in -lJudy... " >&6; } @@ -6797,648 +6096,6 @@ fi fi -CUDA_LDFLAGS="" -CUDA_CPPFLAGS="" -if test "$yap_cv_cuda" = no -then - ENABLE_CUDA="@# " -else - # Extract the first word of "nvcc", so it can be a program name with args. -set dummy nvcc; 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_path_NVCC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $NVCC in - [\\/]* | ?:[\\/]*) - ac_cv_path_NVCC="$NVCC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $yap_cv_cuda/bin -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_path_NVCC="$as_dir/$ac_word$ac_exec_ext" - $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 - - test -z "$ac_cv_path_NVCC" && ac_cv_path_NVCC="no" - ;; -esac -fi -NVCC=$ac_cv_path_NVCC -if test -n "$NVCC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NVCC" >&5 -$as_echo "$NVCC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$yap_cv_cuda" = no - then - ENABLE_CUDA="@# " - else - ENABLE_CUDA="" - case "$target_os" in - *darwin*) - CUDA_LDFLAGS="$LDFLAGS" - CUDA_CPPFLAGS="-shared -arch=sm_20 -Xcompiler -fPIC -O3 " - CUDA_SHLIB_LD="$NVCC -Xcompiler -dynamiclib -L../.. -lYap " - ;; - **) - CUDA_LDFLAGS="$LDFLAGS $LIBS" - CUDA_CPPFLAGS="-shared -arch=sm_20 -Xcompiler -fPIC -O3 " - CUDA_SHLIB_LD="$NVCC -shared -Xcompiler -export-dynamic" - ;; - esac - fi -fi - - -if test "$yap_cv_myddas" != "no" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mysql_init" >&5 -$as_echo_n "checking for library containing mysql_init... " >&6; } -if ${ac_cv_search_mysql_init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char mysql_init (); -int -main () -{ -return mysql_init (); - ; - return 0; -} -_ACEOF -for ac_lib in '' mysqlclient; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_mysql_init=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_mysql_init+:} false; then : - break -fi -done -if ${ac_cv_search_mysql_init+:} false; then : - -else - ac_cv_search_mysql_init=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_mysql_init" >&5 -$as_echo "$ac_cv_search_mysql_init" >&6; } -ac_res=$ac_cv_search_mysql_init -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - yap_cv_mysql="yes" -else - yap_cv_mysql="no" -fi - - if test "$yap_cv_mysql" = yes - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_MYSQL" - fi - - case "$target_os" in - *darwin*) - LIBS="$LIBS -framework CoreFoundation" - ;; - **) - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing SQLAllocHandle" >&5 -$as_echo_n "checking for library containing SQLAllocHandle... " >&6; } -if ${ac_cv_search_SQLAllocHandle+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char SQLAllocHandle (); -int -main () -{ -return SQLAllocHandle (); - ; - return 0; -} -_ACEOF -for ac_lib in '' odbc; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_SQLAllocHandle=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_SQLAllocHandle+:} false; then : - break -fi -done -if ${ac_cv_search_SQLAllocHandle+:} false; then : - -else - ac_cv_search_SQLAllocHandle=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_SQLAllocHandle" >&5 -$as_echo "$ac_cv_search_SQLAllocHandle" >&6; } -ac_res=$ac_cv_search_SQLAllocHandle -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - yap_cv_odbc="yes" -else - yap_cv_odbc="no" -fi - - if test "$yap_cv_odbc" = yes - then - ODBC_LIBS="$ODBC_LIBS -lodbc" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing SQLAllocHandle" >&5 -$as_echo_n "checking for library containing SQLAllocHandle... " >&6; } -if ${ac_cv_search_SQLAllocHandle+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char SQLAllocHandle (); -int -main () -{ -return SQLAllocHandle (); - ; - return 0; -} -_ACEOF -for ac_lib in '' iodbc; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_SQLAllocHandle=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_SQLAllocHandle+:} false; then : - break -fi -done -if ${ac_cv_search_SQLAllocHandle+:} false; then : - -else - ac_cv_search_SQLAllocHandle=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_SQLAllocHandle" >&5 -$as_echo "$ac_cv_search_SQLAllocHandle" >&6; } -ac_res=$ac_cv_search_SQLAllocHandle -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - yap_cv_odbc="yes" -else - yap_cv_odbc="no" -fi - - if test "$yap_cv_odbc" = yes - then - ODBC_LIBS="$ODBC_LIBS -liodbc" - fi - fi - if test "$yap_cv_odbc" = yes - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_ODBC" - fi - - if test "$myddasstats" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_STATS" - fi - - if test "$myddastoplevel" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_TOP_LEVEL" - fi - -fi - -if test "$yap_cv_cudd" != no; then - oldlibs="$LIBS" - if test "$yap_cv_cudd" != "NONE" -a "$yap_cv_cudd" != "yes"; then - CUDD_CPPFLAGS="-I $yap_cv_cudd/include" - cudd_dir="$yap_cv_cudd" - elif test "$prefix" != "NONE"; then - CUDD_CPPFLAGS="-I $prefix/include" - cudd_dir="$prefix" - else - CUDD_CPPFLAGS="-I /usr/local/include" - cudd_dir=/usr/local - fi - OLD_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $CUDD_CPPFLAGS" - for ac_header in util.h cudd/util.h cudd.h cudd/cudd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - for ac_header in cuddInt.h cudd/cuddInt.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - if test -d "$cudd_dir/lib64/cudd" -a "$YAP_TARGET" = amd64; then - LIBS="$LIBS -L $cudd_dir/lib64/cudd" - elif test -d "$cudd_dir/lib64" -a "$YAP_TARGET" = amd64; then - LIBS="$LIBS -L $cudd_dir/lib64 -L $cudd_dir/lib" - elif test -d "$cudd_dir/lib/cudd"; then - LIBS="$LIBS -L $cudd_dir/lib/cudd" - elif test -d "$cudd_dir/lib"; then - LIBS="$LIBS -L $cudd_dir/lib" - fi - if test -d "$cudd_dir/util"; then - LIBS="$LIBS -L $cudd_dir/util" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing util_print_cpu_stats" >&5 -$as_echo_n "checking for library containing util_print_cpu_stats... " >&6; } -if ${ac_cv_search_util_print_cpu_stats+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char util_print_cpu_stats (); -int -main () -{ -return util_print_cpu_stats (); - ; - return 0; -} -_ACEOF -for ac_lib in '' cuddutil util; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_util_print_cpu_stats=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_util_print_cpu_stats+:} false; then : - break -fi -done -if ${ac_cv_search_util_print_cpu_stats+:} false; then : - -else - ac_cv_search_util_print_cpu_stats=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_util_print_cpu_stats" >&5 -$as_echo "$ac_cv_search_util_print_cpu_stats" >&6; } -ac_res=$ac_cv_search_util_print_cpu_stats -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - if test -d "$cudd_dir/st"; then - LIBS="$LIBS -L $cudd_dir/st" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing st_insert" >&5 -$as_echo_n "checking for library containing st_insert... " >&6; } -if ${ac_cv_search_st_insert+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char st_insert (); -int -main () -{ -return st_insert (); - ; - return 0; -} -_ACEOF -for ac_lib in '' cuddst st; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_st_insert=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_st_insert+:} false; then : - break -fi -done -if ${ac_cv_search_st_insert+:} false; then : - -else - ac_cv_search_st_insert=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_st_insert" >&5 -$as_echo "$ac_cv_search_st_insert" >&6; } -ac_res=$ac_cv_search_st_insert -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - if test -d "$cudd_dir/epd"; then - LIBS="$LIBS -L $cudd_dir/epd" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing EpdAdd" >&5 -$as_echo_n "checking for library containing EpdAdd... " >&6; } -if ${ac_cv_search_EpdAdd+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char EpdAdd (); -int -main () -{ -return EpdAdd (); - ; - return 0; -} -_ACEOF -for ac_lib in '' epd; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_EpdAdd=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_EpdAdd+:} false; then : - break -fi -done -if ${ac_cv_search_EpdAdd+:} false; then : - -else - ac_cv_search_EpdAdd=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_EpdAdd" >&5 -$as_echo "$ac_cv_search_EpdAdd" >&6; } -ac_res=$ac_cv_search_EpdAdd -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - if test -d "$cudd_dir/mtr"; then - LIBS="$LIBS -L $cudd_dir/mtr" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing Mtr_InitTree" >&5 -$as_echo_n "checking for library containing Mtr_InitTree... " >&6; } -if ${ac_cv_search_Mtr_InitTree+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char Mtr_InitTree (); -int -main () -{ -return Mtr_InitTree (); - ; - return 0; -} -_ACEOF -for ac_lib in '' mtr; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_Mtr_InitTree=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_Mtr_InitTree+:} false; then : - break -fi -done -if ${ac_cv_search_Mtr_InitTree+:} false; then : - -else - ac_cv_search_Mtr_InitTree=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_Mtr_InitTree" >&5 -$as_echo "$ac_cv_search_Mtr_InitTree" >&6; } -ac_res=$ac_cv_search_Mtr_InitTree -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - - if test -d "$cudd_dir/cudd"; then - LIBS="$LIBS -L $cudd_dir/cudd" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing Cudd_Init" >&5 -$as_echo_n "checking for library containing Cudd_Init... " >&6; } -if ${ac_cv_search_Cudd_Init+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char Cudd_Init (); -int -main () -{ -return Cudd_Init (); - ; - return 0; -} -_ACEOF -for ac_lib in '' cudd; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_Cudd_Init=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_Cudd_Init+:} false; then : - break -fi -done -if ${ac_cv_search_Cudd_Init+:} false; then : - -else - ac_cv_search_Cudd_Init=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_Cudd_Init" >&5 -$as_echo "$ac_cv_search_Cudd_Init" >&6; } -ac_res=$ac_cv_search_Cudd_Init -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - cudd_installed="yes" -else - cudd_installed="no" -fi - - CPPFLAGS="$OLD_CPPFLAGS" - if test "$cudd_installed" = yes; then - CUDD_LDFLAGS="$LIBS" - else - cat << EOF -################################################################## -# ERROR: Could not find cudd library. Either I don't have the -# correct path, or CUDD is installed in some strange way -################################################################## -EOF - fi - LIBS="$oldlibs" -fi - if test "$threads" = yes then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 @@ -7486,7 +6143,267 @@ _ACEOF fi - for ac_header in pthread.h + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in pthread.h do : ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" if test "x$ac_cv_header_pthread_h" = xyes; then : @@ -7528,13 +6445,6 @@ fi CMFLAGS=-fpic CIFLAGS=-I. -if test "$use_gecode" = no; then - ENABLE_GECODE="@# " -else - ENABLE_GECODE="" -fi - - if test "$use_prism" = no; then ENABLE_PRISM="@# " else @@ -7624,1050 +6534,6 @@ else ENABLE_ZLIB="@# " fi -if test "$yap_cv_java" = no; then - ENABLE_JPL="@#" -elif test -e "$srcdir"/packages/jpl/Makefile.in; then - ENABLE_JPL="" - if test "$yap_cv_java" != "yes"; then - JAVA_HOME=$yap_cv_java - JAVAPREFIX="$JAVA_HOME"/bin - elif test -n "$JAVA_HOME"; then - JAVAPREFIX="$JAVA_HOME"/bin - fi - - - - - - - - - - - - -CMDEXT=sh - -if test "x$JAVALIBS" = "x"; then - case "$target_os" in - *darwin*) - JAVALIBS="-Wl,-framework,JavaVM" - ;; - *powerpc-linux*) - JAVALIBS="-ljava -ljvm" - ;; - *win32*|*win64*) - JAVALIBS="-ljvm" - CMDEXT=bat - ;; - *) - JAVALIBS="-ljava -lverify -ljvm" - ;; - esac -fi - -case "$target_os" in - *win32*) - JPLLDFLAGS="$JPLLDFLAGS -Wl,--kill-at" - LIBJPL=jpl - ;; - *win64*) - LIBJPL=jpl - ;; - *) - LIBJPL=libjpl - ;; -esac - - - -if test "x$JAVACFLAGS" = x; then - JAVACFLAGS="-source 1.4 -target 1.4" -fi - - - - - - - - - - - - - - - - - - -# _ACJNI_FOLLOW_SYMLINKS -# Follows symbolic links on , -# finally setting variable _ACJNI_FOLLOWED -# -------------------- -# _ACJNI - - - - -java_abs_paths=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Java configuration..." >&5 -$as_echo "$as_me: checking Java configuration..." >&6;} -if test -r /etc/java/java2.conf; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using /etc/java/java2.conf" >&5 -$as_echo "Using /etc/java/java2.conf" >&6; } - eval `grep '\(JAVA\|JRE\|JDK\|SDK\).*=' /etc/java/java2.conf | sed 's/ *= */=/'` - if test ! -z "$JAVA_BINDIR"; then - PATH="$PATH:$JAVA_BINDIR" - java_abs_paths=yes - fi -fi - - - -if test "x$JAVAC" = x; then - if test "x$JAVAPREFIX" = x; then - for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_JAVAC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$JAVAC"; then - ac_cv_prog_JAVAC="$JAVAC" # 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_JAVAC="$ac_prog" - $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 -JAVAC=$ac_cv_prog_JAVAC -if test -n "$JAVAC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 -$as_echo "$JAVAC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVAC" && break -done - - else - for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_path_JAVAC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $JAVAC in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in "$JAVAPREFIX" -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_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" - $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 - - ;; -esac -fi -JAVAC=$ac_cv_path_JAVAC -if test -n "$JAVAC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 -$as_echo "$JAVAC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVAC" && break -done - - fi -fi -test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5 -if test "$JAVAC" = "gcj$EXEEXT"; then - case "$JAVACFLAGS" in - *-C*) - ;; - *) - JAVACFLAGS="$JAVACFLAGS -C" - ;; - esac -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 -$as_echo_n "checking if $JAVAC works... " >&6; } -if ${ac_cv_prog_javac_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - -JAVA_TEST=Test.java -CLASS_TEST=Test.class -cat << \EOF > $JAVA_TEST -/* #line 7841 "configure" */ -public class Test { -} -EOF -if { ac_try='"$JAVAC" $JAVACFLAGS $JAVA_TEST' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null 2>&1; then - ac_cv_prog_javac_works=yes -else - as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 - echo "configure: failed program was:" >&5 - cat $JAVA_TEST >&5 -fi -rm -f $JAVA_TEST $CLASS_TEST - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 -$as_echo "$ac_cv_prog_javac_works" >&6; } - - - -if test "x$JAVA" = x; then - if test "x$JAVAPREFIX" = x; then - for ac_prog in kaffe$EXEEXT java$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_JAVA+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$JAVA"; then - ac_cv_prog_JAVA="$JAVA" # 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_JAVA="$ac_prog" - $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 -JAVA=$ac_cv_prog_JAVA -if test -n "$JAVA"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 -$as_echo "$JAVA" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVA" && break -done - - else - for ac_prog in kaffe$EXEEXT java$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_path_JAVA+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $JAVA in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $JAVAPREFIX -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_path_JAVA="$as_dir/$ac_word$ac_exec_ext" - $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 - - ;; -esac -fi -JAVA=$ac_cv_path_JAVA -if test -n "$JAVA"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 -$as_echo "$JAVA" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVA" && break -done - - fi -fi -test "x$JAVA" = x && as_fn_error $? "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5 - -# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args. -set dummy uudecode$EXEEXT; 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_uudecode+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$uudecode"; then - ac_cv_prog_uudecode="$uudecode" # 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_uudecode="yes" - $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 -uudecode=$ac_cv_prog_uudecode -if test -n "$uudecode"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5 -$as_echo "$uudecode" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test x$uudecode = xyes; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5 -$as_echo_n "checking if uudecode can decode base 64 file... " >&6; } -if ${ac_cv_prog_uudecode_base64+:} false; then : - $as_echo_n "(cached) " >&6 -else - -cat << \EOF > Test.uue -begin-base64 644 Test.class -yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE -bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51 -bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s -YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG -aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB -AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB -AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ= -==== -EOF -if uudecode$EXEEXT Test.uue; then - ac_cv_prog_uudecode_base64=yes -else - echo "configure: 8017: uudecode had trouble decoding base 64 file 'Test.uue'" >&5 - echo "configure: failed file was:" >&5 - cat Test.uue >&5 - ac_cv_prog_uudecode_base64=no -fi -rm -f Test.uue -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5 -$as_echo "$ac_cv_prog_uudecode_base64" >&6; } -fi -if test x$ac_cv_prog_uudecode_base64 != xyes; then - rm -f Test.class - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: I have to compile Test.class from scratch" >&5 -$as_echo "$as_me: WARNING: I have to compile Test.class from scratch" >&2;} - if test x$ac_cv_prog_javac_works = xno; then - as_fn_error $? "Cannot compile java source. $JAVAC does not work properly" "$LINENO" 5 - fi - if test x$ac_cv_prog_javac_works = x; then - -if test "x$JAVAC" = x; then - if test "x$JAVAPREFIX" = x; then - for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_JAVAC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$JAVAC"; then - ac_cv_prog_JAVAC="$JAVAC" # 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_JAVAC="$ac_prog" - $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 -JAVAC=$ac_cv_prog_JAVAC -if test -n "$JAVAC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 -$as_echo "$JAVAC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVAC" && break -done - - else - for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_path_JAVAC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $JAVAC in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in "$JAVAPREFIX" -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_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" - $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 - - ;; -esac -fi -JAVAC=$ac_cv_path_JAVAC -if test -n "$JAVAC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 -$as_echo "$JAVAC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVAC" && break -done - - fi -fi -test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5 -if test "$JAVAC" = "gcj$EXEEXT"; then - case "$JAVACFLAGS" in - *-C*) - ;; - *) - JAVACFLAGS="$JAVACFLAGS -C" - ;; - esac -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 -$as_echo_n "checking if $JAVAC works... " >&6; } -if ${ac_cv_prog_javac_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - -JAVA_TEST=Test.java -CLASS_TEST=Test.class -cat << \EOF > $JAVA_TEST -/* #line 8148 "configure" */ -public class Test { -} -EOF -if { ac_try='"$JAVAC" $JAVACFLAGS $JAVA_TEST' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null 2>&1; then - ac_cv_prog_javac_works=yes -else - as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 - echo "configure: failed program was:" >&5 - cat $JAVA_TEST >&5 -fi -rm -f $JAVA_TEST $CLASS_TEST - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 -$as_echo "$ac_cv_prog_javac_works" >&6; } - - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5 -$as_echo_n "checking if $JAVA works... " >&6; } -if ${ac_cv_prog_java_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - -JAVA_TEST=Test.java -CLASS_TEST=Test.class -TEST=Test -cat << \EOF > $JAVA_TEST -/* [#]line 8183 "configure" */ -public class Test { -public static void main (String args[]) { - System.exit (0); -} } -EOF -if test x$ac_cv_prog_uudecode_base64 != xyes; then - if { ac_try='"$JAVAC" $JAVACFLAGS $JAVA_TEST' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } && test -s $CLASS_TEST; then - : - else - echo "configure: failed program was:" >&5 - cat $JAVA_TEST >&5 - as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 - fi -fi -if { ac_try='"$JAVA" $JAVAFLAGS $TEST' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } >/dev/null 2>&1; then - ac_cv_prog_java_works=yes -else - echo "configure: failed program was:" >&5 - cat $JAVA_TEST >&5 - as_fn_error $? "The Java VM $JAVA failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 -fi -rm -fr $JAVA_TEST $CLASS_TEST Test.uue - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_java_works" >&5 -$as_echo "$ac_cv_prog_java_works" >&6; } - - - - -if test "x$JAR" = x; then - if test "x$JAVAPREFIX" = x; then - for ac_prog in jar$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_JAR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$JAR"; then - ac_cv_prog_JAR="$JAR" # 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_JAR="$ac_prog" - $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 -JAR=$ac_cv_prog_JAR -if test -n "$JAR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 -$as_echo "$JAR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAR" && break -done - - else - for ac_prog in jar$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_path_JAR+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $JAR in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAR="$JAR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $JAVAPREFIX -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_path_JAR="$as_dir/$ac_word$ac_exec_ext" - $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 - - ;; -esac -fi -JAR=$ac_cv_path_JAR -if test -n "$JAR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 -$as_echo "$JAR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAR" && break -done - - fi -fi -test "x$JAR" = x && as_fn_error $? "no acceptable jar program found in \$PATH" "$LINENO" 5 - - -if test "x$JAVADOC" = x; then - if test "x$JAVAPREFIX" = x; then - for ac_prog in javadoc$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_JAVADOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$JAVADOC"; then - ac_cv_prog_JAVADOC="$JAVADOC" # 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_JAVADOC="$ac_prog" - $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 -JAVADOC=$ac_cv_prog_JAVADOC -if test -n "$JAVADOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 -$as_echo "$JAVADOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVADOC" && break -done - - else - for ac_prog in javadoc$EXEEXT -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_path_JAVADOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $JAVADOC in - [\\/]* | ?:[\\/]*) - ac_cv_path_JAVADOC="$JAVADOC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in "$JAVAPREFIX" -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_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" - $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 - - ;; -esac -fi -JAVADOC=$ac_cv_path_JAVADOC -if test -n "$JAVADOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 -$as_echo "$JAVADOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$JAVADOC" && break -done - - fi -fi -test "x$JAVADOC" = x && as_fn_error $? "no acceptable javadoc generator found in \$PATH" "$LINENO" 5 - - -escape_space() -{ sed -e "s/Program Files/Program-SPACE-Files/g" -e "s/ (x86)/SPACEX86/g" -} - -unescape_space() -{ sed -e "s/-SPACE-/ /g" -e "s/SPACEX86/ (x86)/g" -} - - - -JNI_INCLUDE_DIRS="" - -if test "x$JAVAPREFIX" = x; then - test "x$JAVAC" = x && as_fn_error $? "'$JAVAC' undefined" "$LINENO" 5 - - case "$JAVAC" in - /*) _ACJNI_JAVAC="$JAVAC" - ;; - *) # Extract the first word of "$JAVAC", so it can be a program name with args. -set dummy $JAVAC; 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_path__ACJNI_JAVAC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $_ACJNI_JAVAC in - [\\/]* | ?:[\\/]*) - ac_cv_path__ACJNI_JAVAC="$_ACJNI_JAVAC" # Let the user override the test with a path. - ;; - *) - 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_path__ACJNI_JAVAC="$as_dir/$ac_word$ac_exec_ext" - $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 - - test -z "$ac_cv_path__ACJNI_JAVAC" && ac_cv_path__ACJNI_JAVAC="no" - ;; -esac -fi -_ACJNI_JAVAC=$ac_cv_path__ACJNI_JAVAC -if test -n "$_ACJNI_JAVAC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_ACJNI_JAVAC" >&5 -$as_echo "$_ACJNI_JAVAC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - ;; - esac - - # Extract the first word of "$JAVAC", so it can be a program name with args. -set dummy $JAVAC; 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_path__ACJNI_JAVAC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $_ACJNI_JAVAC in - [\\/]* | ?:[\\/]*) - ac_cv_path__ACJNI_JAVAC="$_ACJNI_JAVAC" # Let the user override the test with a path. - ;; - *) - 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_path__ACJNI_JAVAC="$as_dir/$ac_word$ac_exec_ext" - $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 - - test -z "$ac_cv_path__ACJNI_JAVAC" && ac_cv_path__ACJNI_JAVAC="no" - ;; -esac -fi -_ACJNI_JAVAC=$ac_cv_path__ACJNI_JAVAC -if test -n "$_ACJNI_JAVAC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_ACJNI_JAVAC" >&5 -$as_echo "$_ACJNI_JAVAC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test "x$_ACJNI_JAVAC" = xno && as_fn_error $? "$JAVAC could not be found in path" "$LINENO" 5 - - -# find the include directory relative to the javac executable -_cur=""$_ACJNI_JAVAC"" -while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking symlink for $_cur" >&5 -$as_echo_n "checking symlink for $_cur... " >&6; } - _slink=`ls -ld "$_cur" | sed 's/.* -> //'` - case "$_slink" in - /*) _cur="$_slink";; - # 'X' avoids triggering unwanted echo options. - *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[^/]*$::'`"$_slink";; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cur" >&5 -$as_echo "$_cur" >&6; } -done -_ACJNI_FOLLOWED="$_cur" - - _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[^/]*$::'` -else - _JTOPDIR="$(dirname "$JAVAPREFIX")" -fi - -case "$host_os" in - darwin*) _J2TOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[^/]*$::'` - if test -d "$_J2TOPDIR/Headers"; then - _JINC="$_J2TOPDIR/Headers" - else - _JINC="$_JTOPDIR/include" - fi - ;; - *) _JINC="$_JTOPDIR/include";; -esac -if test -f "$_JINC/jni.h"; then - JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JINC" -else - _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[^/]*$::'` - if test -f "$_JTOPDIR/include/jni.h"; then - JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include" - else - as_fn_error $? "cannot find java include files" "$LINENO" 5 - fi -fi - -# get the likely subdirectories for system specific java includes -case "$host_os" in -bsdi*) _JNI_INC_SUBDIRS="bsdos";; -linux*) _JNI_INC_SUBDIRS="linux genunix";; -mingw32*) _JNI_INC_SUBDIRS="win32";; -osf*) _JNI_INC_SUBDIRS="alpha";; -solaris*) _JNI_INC_SUBDIRS="solaris";; -*) _JNI_INC_SUBDIRS="genunix";; -esac - -# add any subdirectories that are present -for JINCSUBDIR in $_JNI_INC_SUBDIRS -do - if test -d "$_JTOPDIR/include/$JINCSUBDIR"; then - JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include/$JINCSUBDIR" - fi -done - -case "$host_os" in -mingw32*) JNI_CLIENT_DIRS="$_JTOPDIR/lib $_JTOPDIR/jre/bin $_JTOPDIR/jre/bin/server" - ;; - -*) case "$host_cpu" in - i?86) - _JNI_LIBDIRS="lib/i386" - _JNI_LIBSUBDIRS="client" - ;; - x86_64) - _JNI_LIBDIRS="lib/amd64" - _JNI_LIBSUBDIRS="server" - ;; - powerpc) - case "$host_os" in - linux*) - _JNI_LIBDIRS="lib/ppc bin" - _JNI_LIBSUBDIRS="server classic" - ;; - *) - _JNI_LIBDIRS="" - esac - ;; - *) - # Fallback option should work on all architectures except - # amd64 and powerpc which are special cased above. - _JNI_LIBDIRS="lib/$host_cpu" - _JNI_LIBSUBDIRS="server" -esac - -for d in $_JNI_LIBDIRS; do - for subd in $_JNI_LIBSUBDIRS; do - echo "Trying $_JTOPDIR/jre/$d/$subd" - if test -d $_JTOPDIR/jre/$d/$subd; then - JNI_CLIENT_DIRS="$JNI_CLIENT_DIRS $_JTOPDIR/jre/$d/$subd $_JTOPDIR/jre/$d" - fi - done -done - -;; -esac - - -for d in $(echo $JNI_INCLUDE_DIRS | escape_space); do - JPLCFLAGS="$JPLCFLAGS -I'$d'" -done -JPLCFLAGS="$(echo $JPLCFLAGS | unescape_space)" - -for d in $(echo $JNI_CLIENT_DIRS | escape_space); do - JPLLDFLAGS="$JPLLDFLAGS -L'$d'" -done -JPLLDFLAGS="$(echo $JPLLDFLAGS | unescape_space)" - -for d in $(echo $JNI_CLIENT_DIRS | escape_space); do - if test -f "$d/libjsig.$SO"; then - JAVALIBS="-ljsig $JAVALIBS" - JAVA_PRELOAD=$d/libjsig.$SO - break - fi -done -JAVA_PRELOAD="$(echo $JAVA_PRELOAD | unescape_space)" - -if test "$java_abs_paths" = yes; then - JAVA_CC="$JAVA_BINDIR/$JAVA_CC" -fi - - -# Check whether --with-junit was given. -if test "${with_junit+set}" = set; then : - withval=$with_junit; case "$withval" in - yes) JUNIT=/usr/share/java/junit.jar - ;; - no) JUNIT="" - ;; - *) JUNIT="$withval" - ;; - esac - -else - if test "x$JUNIT" = "x" -a -r /usr/share/java/junit.jar; then - JUNIT=/usr/share/java/junit.jar - fi - - -fi - - -JAVA_HOME=$_JTOPDIR - -fi - if test "$cross_compiling" = "yes" then YAP_EXTRAS= @@ -9399,7 +7265,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MPI_CC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9442,7 +7308,7 @@ 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 -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MPI_CC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9978,21 +7844,7 @@ fi done fi -if test "$yap_cv_myddas" != "no" -then - for ac_header in mysql/mysql.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "mysql/mysql.h" "ac_cv_header_mysql_mysql_h" "$ac_includes_default" -if test "x$ac_cv_header_mysql_mysql_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MYSQL_MYSQL_H 1 -_ACEOF -fi - -done - -fi if test "$yap_cv_readline" != "no" then for ac_header in readline/readline.h @@ -10484,19 +8336,6 @@ CMDEXT=sh - - - - - - - - - - - - - @@ -11368,123 +9207,6 @@ CHR_TARGETS=chr_support."$SO" -if test "$ENABLE_CLIB" = ""; then -CLIB_TARGETS="socket.$SO cgi.$SO memfile.$SO files.$SO mime.$SO $CRYPT_TARGETS" -CLIB_PLTARGETS="socket.pl cgi.pl memfile.pl filesex.pl mime.pl $CRYPT_TARGETS" - -if test "$ac_cv_func_setitimer" = "yes"; then - CLIB_TARGETS="$CLIB_TARGETS time.$SO" - CLIB_PLTARGETS="$CLIB_PLTARGETS time.pl" -else - echo "WARNING: no setitimer(); dropping time.pl from targets" -fi - -if test "$IN_UNIX" = ""; then -CLIB_TARGETS="uid.$SO unix.$SO $CLIB_TARGETS" -CLIB_PLTARGETS="uid.pl unix.pl $CLIB_PLTARGETS" -CLIB_NETLIBS= -else -ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket" -if test "x$ac_cv_func_socket" = xyes; then : - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 -$as_echo_n "checking for socket in -lsocket... " >&6; } -if ${ac_cv_lib_socket_socket+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char socket (); -int -main () -{ -return socket (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_socket_socket=yes -else - ac_cv_lib_socket_socket=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 -$as_echo "$ac_cv_lib_socket_socket" >&6; } -if test "x$ac_cv_lib_socket_socket" = xyes; then : - CLIB_NETLIBS="$CLIB_NETLIBS -lsocket" - -$as_echo "#define HAVE_LIBSOCKET 1" >>confdefs.h - -fi - -fi - -ac_fn_c_check_func "$LINENO" "gethostent" "ac_cv_func_gethostent" -if test "x$ac_cv_func_gethostent" = xyes; then : - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostent in -lnsl" >&5 -$as_echo_n "checking for gethostent in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_gethostent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char gethostent (); -int -main () -{ -return gethostent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_nsl_gethostent=yes -else - ac_cv_lib_nsl_gethostent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostent" >&5 -$as_echo "$ac_cv_lib_nsl_gethostent" >&6; } -if test "x$ac_cv_lib_nsl_gethostent" = xyes; then : - CLIB_NETLIBS="$CLIB_NETLIBS -lnsl" - -$as_echo "#define HAVE_LIBNSL 1" >>confdefs.h - -fi - -fi - -fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 $as_echo_n "checking for pthread_create in -lpthread... " >&6; } @@ -11529,70 +9251,7 @@ else fi -oldlibs="$LIBS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 -$as_echo_n "checking for crypt in -lcrypt... " >&6; } -if ${ac_cv_lib_crypt_crypt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypt $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char crypt (); -int -main () -{ -return crypt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_crypt_crypt=yes -else - ac_cv_lib_crypt_crypt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 -$as_echo "$ac_cv_lib_crypt_crypt" >&6; } -if test "x$ac_cv_lib_crypt_crypt" = xyes; then : - CRYPT_TARGET=crypt.\$SO -else - CRYPT_TARGET="" -fi - -CLIB_CRYPTLIBS="$LIBS" -for ac_func in crypt -do : - ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt" -if test "x$ac_cv_func_crypt" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CRYPT 1 -_ACEOF - -fi -done - -LIBS="$oldlibs" - - - - - - - -fi ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " #include @@ -11707,33 +9366,6 @@ $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test "$with_time" = yes; then - if test "$ac_cv_func_setitimer" = "yes"; then - TARGETS="$TARGETS time.$SO" - else - echo "WARNING: no setitimer(); dropping time.pl from targets" - fi -fi - -if test "$ac_cv_func_getrlimit" = "yes"; then - TARGETS="$TARGETS rlimit.$SO" -else - echo "WARNING: no getrlimit(); dropping rlimit.pl from targets" -fi - -# Check whether --enable-mimecharset was given. -if test "${enable_mimecharset+set}" = set; then : - enableval=$enable_mimecharset; RFC2045CHARSET="$enableval" -else - RFC2045CHARSET="us-ascii" -fi - - - - -MAILDROP_CFLAGS="$SHLIB_CFLAGS -I. -I\$(srcdir) -I\$(srcdir)/.. -I../../../.." - - if test "$yap_cv_minisat" = no then ENABLE_MINISAT="@# " @@ -11744,16 +9376,80 @@ else ENABLE_MINISAT="" fi -if test "$ENABLE_ZLIB" = "" -then +if test "x$PLARCH" = "x"; then + case "$host" in + *linux*) + PLARCH=`echo $host | sed 's/-.*/-linux/'` + ;; + i?86-*mingw32*) + # Make PLARCH match the definition in src/config/win32.h + PLARCH=i386-win32 + ;; + x86_64-*mingw32*) + # Make PLARCH match the definition in src/config/win64.h + PLARCH=x64-win64 + ;; + *-gnu) + PLARCH=`echo $host | sed 's/\(^-*\)-^-*-\(^-*\)-gnu/\1-\2/'` + ;; + *) + PLARCH=`echo $host | sed 's/\(^-*\)-^-*-\(^-*\)/\1-\2/'` + ;; + esac +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlibVersion in -lz" >&5 -$as_echo_n "checking for zlibVersion in -lz... " >&6; } -if ${ac_cv_lib_z_zlibVersion+:} false; then : + + +# Check whether --enable-myddas was given. +if test "${enable_myddas+set}" = set; then : + enableval=$enable_myddas; if test "$enableval" = yes; then + yap_cv_myddas=/usr + elif test "$enableval" = no; then + yap_cv_myddas=no + else + yap_cv_myddas=$enable_myddas + LDFLAGS="$LDFLAGS -L${yap_cv_myddas}/lib " + CPPFLAGS="$CPPFLAGS -I${yap_cv_myddas}/include " + ODBC_LDFLAGS="-L${yap_cv_myddas}/lib " + ODBC_CFLAGS="-I${yap_cv_myddas}/include " + fi +else + yap_cv_myddas=/usr +fi + + +# Check whether --enable-myddas-stats was given. +if test "${enable_myddas_stats+set}" = set; then : + enableval=$enable_myddas_stats; if test "$yap_cv_myddas" = no; then + myddasstats=no + else + myddasstats="$enableval" + fi +else + myddasstats=no +fi + + +# Check whether --enable-myddas-top-level was given. +if test "${enable_myddas_top_level+set}" = set; then : + enableval=$enable_myddas_top_level; if test "$yap_cv_myddas" = no; then + myddastoplevel=no + else + myddastoplevel="$enableval" + fi +else + myddastoplevel=no +fi + + +if test "$yap_cv_myddas" != "no" +then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing mysql_init" >&5 +$as_echo_n "checking for library containing mysql_init... " >&6; } +if ${ac_cv_search_mysql_init+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -11763,75 +9459,2093 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char zlibVersion (); +char mysql_init (); int main () { -return zlibVersion (); +return mysql_init (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_z_zlibVersion=yes -else - ac_cv_lib_z_zlibVersion=no +for ac_lib in '' mysqlclient; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_mysql_init=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + conftest$ac_exeext + if ${ac_cv_search_mysql_init+:} false; then : + break fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_zlibVersion" >&5 -$as_echo "$ac_cv_lib_z_zlibVersion" >&6; } -if test "x$ac_cv_lib_z_zlibVersion" = xyes; then : - ZLIBS="-lz" - ZLIB=yes +done +if ${ac_cv_search_mysql_init+:} false; then : + else - ZLIB=no + ac_cv_search_mysql_init=no fi - - -if test "$ZLIB" = yes; then - ZLIB_TARGETS="zlib4pl.$SO" - ZLIB_PLTARGETS='zlib.pl' - ZLIB_INSTALL=install +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_mysql_init" >&5 +$as_echo "$ac_cv_search_mysql_init" >&6; } +ac_res=$ac_cv_search_mysql_init +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + yap_cv_mysql="yes" else - ZLIB_TARGETS=nolib - ZLIB_INSTALL=nolib - cat << EOF -################################################################## -# ERROR: Could not find library zlib (-lz). Dropped library(zlib) -# Library zlib is available from http://www.zlib.net/ -# Most Unix/Linux distributions are shipped with binaries. Make -# sure to have the development library installed. -################################################################## -EOF + yap_cv_mysql="no" fi + if test "$yap_cv_mysql" = yes + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_MYSQL" + fi + case "$target_os" in + *darwin*) + LIBS="$LIBS -framework CoreFoundation" + ;; + **) + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing SQLAllocHandle" >&5 +$as_echo_n "checking for library containing SQLAllocHandle... " >&6; } +if ${ac_cv_search_SQLAllocHandle+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + return 0; +} +_ACEOF +for ac_lib in '' odbc; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_SQLAllocHandle=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_SQLAllocHandle+:} false; then : + break +fi +done +if ${ac_cv_search_SQLAllocHandle+:} false; then : +else + ac_cv_search_SQLAllocHandle=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_SQLAllocHandle" >&5 +$as_echo "$ac_cv_search_SQLAllocHandle" >&6; } +ac_res=$ac_cv_search_SQLAllocHandle +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + yap_cv_odbc="yes" +else + yap_cv_odbc="no" +fi + if test "$yap_cv_odbc" = yes + then + ODBC_LIBS="$ODBC_LIBS -lodbc" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing SQLAllocHandle" >&5 +$as_echo_n "checking for library containing SQLAllocHandle... " >&6; } +if ${ac_cv_search_SQLAllocHandle+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SQLAllocHandle (); +int +main () +{ +return SQLAllocHandle (); + ; + return 0; +} +_ACEOF +for ac_lib in '' iodbc; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_SQLAllocHandle=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_SQLAllocHandle+:} false; then : + break +fi +done +if ${ac_cv_search_SQLAllocHandle+:} false; then : + +else + ac_cv_search_SQLAllocHandle=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_SQLAllocHandle" >&5 +$as_echo "$ac_cv_search_SQLAllocHandle" >&6; } +ac_res=$ac_cv_search_SQLAllocHandle +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + yap_cv_odbc="yes" +else + yap_cv_odbc="no" +fi + + if test "$yap_cv_odbc" = yes + then + ODBC_LIBS="$ODBC_LIBS -liodbc" + fi + fi + if test "$yap_cv_odbc" = yes + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_ODBC" + fi + + if test "$myddasstats" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_STATS" + fi + + if test "$myddastoplevel" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_TOP_LEVEL" + fi fi - -if test "$yap_cv_odbc" = yes; then - ODBC_TARGETS="odbc4pl.$SO" - ODBC_PLTARGETS=odbc.pl - for ac_header in sql.h +if test "$yap_cv_myddas" != "no" +then + for ac_header in mysql/mysql.h do : - ac_fn_c_check_header_mongrel "$LINENO" "sql.h" "ac_cv_header_sql_h" "$ac_includes_default" -if test "x$ac_cv_header_sql_h" = xyes; then : + ac_fn_c_check_header_mongrel "$LINENO" "mysql/mysql.h" "ac_cv_header_mysql_mysql_h" "$ac_includes_default" +if test "x$ac_cv_header_mysql_mysql_h" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_SQL_H 1 +#define HAVE_MYSQL_MYSQL_H 1 _ACEOF fi done - for ac_func in localtime mktime gmtime timegm +fi + + + +if test "$yap_cv_R" != "no" -a -e "$srcdir"/packages/real/Makefile.in; then + ENABLE_REAL="" + + + + + + + + + + +for ac_prog in R +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_REXE+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$REXE"; then + ac_cv_prog_REXE="$REXE" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_REXE="$ac_prog" + $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 +REXE=$ac_cv_prog_REXE +if test -n "$REXE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $REXE" >&5 +$as_echo "$REXE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$REXE" && break +done +test -n "$REXE" || REXE=""none"" + +if test $REXE = none; then + REAL_TARGET="dummy" +else + REAL_TARGET="ritf" + REAL_INCLUDES="$($REXE CMD config --cppflags | grep -v ^WARNING)" + REAL_LIBS="$($REXE CMD config --ldflags | grep -v ^WARNING)" + + ocppflags="$CPPFLAGS" + ocflags="$CFLAGS" + CPPFLAGS+=" $REAL_INCLUDES" + CFLAGS+=" $REAL_INCLUDES" + + for ac_header in Rinterface.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "Rinterface.h" "ac_cv_header_Rinterface_h" "$ac_includes_default" +if test "x$ac_cv_header_Rinterface_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_RINTERFACE_H 1 +_ACEOF + +fi + +done + + + CFLAGS="$ocflags" + CPPFLAGS="$ocppflags" +fi + + + + + + + + + + + +else + REAL_TARGET="dummy" + ENABLE_REAL="@# " +fi + +if test "$yap_cv_java" = no; then + ENABLE_JPL="@#" +elif test -e "$srcdir"/packages/jpl/Makefile.in; then + ENABLE_JPL="" + if test "$yap_cv_java" != "yes"; then + JAVA_HOME=$yap_cv_java + JAVAPREFIX="$JAVA_HOME"/bin + elif test -n "$JAVA_HOME"; then + JAVAPREFIX="$JAVA_HOME"/bin + fi + + + + + + + + + + + + + + + + + + +CMDEXT=sh + +if test "x$JAVALIBS" = "x"; then + case "$PLARCH" in + *darwin*) + JAVALIBS="-Wl,-framework,JavaVM" + ;; + *powerpc-linux*) + JAVALIBS="-ljava -ljvm" + ;; + *win32*|*win64*) + JAVALIBS="-ljvm" + CMDEXT=bat + ;; + *) + JAVALIBS="-ljava -lverify -ljvm" + ;; + esac +fi + +case "$PLARCH" in + *win32*) + JPLLDFLAGS="$JPLLDFLAGS -Wl,--kill-at" + LIBJPL=jpl + ;; + *win64*) + LIBJPL=jpl + ;; + *) + LIBJPL=libjpl + ;; +esac + + + +if test "x$JAVACFLAGS" = x; then + JAVACFLAGS="-source 1.4 -target 1.4" +fi + + + + + + + + + + + + + + + + + + +# _ACJNI_FOLLOW_SYMLINKS +# Follows symbolic links on , +# finally setting variable _ACJNI_FOLLOWED +# -------------------- +# _ACJNI + + + + +java_abs_paths=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Java configuration..." >&5 +$as_echo "$as_me: checking Java configuration..." >&6;} +if test -r /etc/java/java2.conf; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using /etc/java/java2.conf" >&5 +$as_echo "Using /etc/java/java2.conf" >&6; } + eval `grep '\(JAVA\|JRE\|JDK\|SDK\).*=' /etc/java/java2.conf | sed 's/ *= */=/'` + if test ! -z "$JAVA_BINDIR"; then + PATH="$PATH:$JAVA_BINDIR" + java_abs_paths=yes + fi +fi + + + +if test "x$JAVAC" = x; then + if test "x$JAVAPREFIX" = x; then + for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_JAVAC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$JAVAC"; then + ac_cv_prog_JAVAC="$JAVAC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_JAVAC="$ac_prog" + $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 +JAVAC=$ac_cv_prog_JAVAC +if test -n "$JAVAC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +$as_echo "$JAVAC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVAC" && break +done + + else + for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_path_JAVAC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in "$JAVAPREFIX" +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + $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 + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC +if test -n "$JAVAC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +$as_echo "$JAVAC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVAC" && break +done + + fi +fi +test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5 +if test "$JAVAC" = "gcj$EXEEXT"; then + case "$JAVACFLAGS" in + *-C*) + ;; + *) + JAVACFLAGS="$JAVACFLAGS -C" + ;; + esac +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 +$as_echo_n "checking if $JAVAC works... " >&6; } +if ${ac_cv_prog_javac_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + +JAVA_TEST=Test.java +CLASS_TEST=Test.class +cat << \EOF > $JAVA_TEST +/* #line 9996 "configure" */ +public class Test { +} +EOF +if { ac_try='"$JAVAC" $JAVACFLAGS $JAVA_TEST' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null 2>&1; then + ac_cv_prog_javac_works=yes +else + as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 + echo "configure: failed program was:" >&5 + cat $JAVA_TEST >&5 +fi +rm -f $JAVA_TEST $CLASS_TEST + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 +$as_echo "$ac_cv_prog_javac_works" >&6; } + + + +if test "x$JAVA" = x; then + if test "x$JAVAPREFIX" = x; then + for ac_prog in kaffe$EXEEXT java$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_JAVA+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$JAVA"; then + ac_cv_prog_JAVA="$JAVA" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_JAVA="$ac_prog" + $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 +JAVA=$ac_cv_prog_JAVA +if test -n "$JAVA"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 +$as_echo "$JAVA" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVA" && break +done + + else + for ac_prog in kaffe$EXEEXT java$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_path_JAVA+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $JAVA in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $JAVAPREFIX +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext" + $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 + + ;; +esac +fi +JAVA=$ac_cv_path_JAVA +if test -n "$JAVA"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA" >&5 +$as_echo "$JAVA" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVA" && break +done + + fi +fi +test "x$JAVA" = x && as_fn_error $? "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5 + +# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args. +set dummy uudecode$EXEEXT; 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_uudecode+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$uudecode"; then + ac_cv_prog_uudecode="$uudecode" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_uudecode="yes" + $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 +uudecode=$ac_cv_prog_uudecode +if test -n "$uudecode"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5 +$as_echo "$uudecode" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test x$uudecode = xyes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5 +$as_echo_n "checking if uudecode can decode base 64 file... " >&6; } +if ${ac_cv_prog_uudecode_base64+:} false; then : + $as_echo_n "(cached) " >&6 +else + +cat << \EOF > Test.uue +begin-base64 644 Test.class +yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE +bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51 +bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s +YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG +aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB +AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB +AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ= +==== +EOF +if uudecode$EXEEXT Test.uue; then + ac_cv_prog_uudecode_base64=yes +else + echo "configure: 10172: uudecode had trouble decoding base 64 file 'Test.uue'" >&5 + echo "configure: failed file was:" >&5 + cat Test.uue >&5 + ac_cv_prog_uudecode_base64=no +fi +rm -f Test.uue +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5 +$as_echo "$ac_cv_prog_uudecode_base64" >&6; } +fi +if test x$ac_cv_prog_uudecode_base64 != xyes; then + rm -f Test.class + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: I have to compile Test.class from scratch" >&5 +$as_echo "$as_me: WARNING: I have to compile Test.class from scratch" >&2;} + if test x$ac_cv_prog_javac_works = xno; then + as_fn_error $? "Cannot compile java source. $JAVAC does not work properly" "$LINENO" 5 + fi + if test x$ac_cv_prog_javac_works = x; then + +if test "x$JAVAC" = x; then + if test "x$JAVAPREFIX" = x; then + for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_JAVAC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$JAVAC"; then + ac_cv_prog_JAVAC="$JAVAC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_JAVAC="$ac_prog" + $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 +JAVAC=$ac_cv_prog_JAVAC +if test -n "$JAVAC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +$as_echo "$JAVAC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVAC" && break +done + + else + for ac_prog in jikes$EXEEXT javac$EXEEXT gcj$EXEEXT guavac$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_path_JAVAC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in "$JAVAPREFIX" +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + $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 + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC +if test -n "$JAVAC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5 +$as_echo "$JAVAC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVAC" && break +done + + fi +fi +test "x$JAVAC" = x && as_fn_error $? "no acceptable Java compiler found in \$PATH" "$LINENO" 5 +if test "$JAVAC" = "gcj$EXEEXT"; then + case "$JAVACFLAGS" in + *-C*) + ;; + *) + JAVACFLAGS="$JAVACFLAGS -C" + ;; + esac +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 +$as_echo_n "checking if $JAVAC works... " >&6; } +if ${ac_cv_prog_javac_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + +JAVA_TEST=Test.java +CLASS_TEST=Test.class +cat << \EOF > $JAVA_TEST +/* #line 10303 "configure" */ +public class Test { +} +EOF +if { ac_try='"$JAVAC" $JAVACFLAGS $JAVA_TEST' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null 2>&1; then + ac_cv_prog_javac_works=yes +else + as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 + echo "configure: failed program was:" >&5 + cat $JAVA_TEST >&5 +fi +rm -f $JAVA_TEST $CLASS_TEST + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 +$as_echo "$ac_cv_prog_javac_works" >&6; } + + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5 +$as_echo_n "checking if $JAVA works... " >&6; } +if ${ac_cv_prog_java_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + +JAVA_TEST=Test.java +CLASS_TEST=Test.class +TEST=Test +cat << \EOF > $JAVA_TEST +/* [#]line 10338 "configure" */ +public class Test { +public static void main (String args[]) { + System.exit (0); +} } +EOF +if test x$ac_cv_prog_uudecode_base64 != xyes; then + if { ac_try='"$JAVAC" $JAVACFLAGS $JAVA_TEST' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } && test -s $CLASS_TEST; then + : + else + echo "configure: failed program was:" >&5 + cat $JAVA_TEST >&5 + as_fn_error $? "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 + fi +fi +if { ac_try='"$JAVA" $JAVAFLAGS $TEST' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } >/dev/null 2>&1; then + ac_cv_prog_java_works=yes +else + echo "configure: failed program was:" >&5 + cat $JAVA_TEST >&5 + as_fn_error $? "The Java VM $JAVA failed (see config.log, check the CLASSPATH?)" "$LINENO" 5 +fi +rm -fr $JAVA_TEST $CLASS_TEST Test.uue + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_java_works" >&5 +$as_echo "$ac_cv_prog_java_works" >&6; } + + + + +if test "x$JAR" = x; then + if test "x$JAVAPREFIX" = x; then + for ac_prog in jar$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_JAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$JAR"; then + ac_cv_prog_JAR="$JAR" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_JAR="$ac_prog" + $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 +JAR=$ac_cv_prog_JAR +if test -n "$JAR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 +$as_echo "$JAR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAR" && break +done + + else + for ac_prog in jar$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_path_JAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $JAR in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAR="$JAR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $JAVAPREFIX +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext" + $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 + + ;; +esac +fi +JAR=$ac_cv_path_JAR +if test -n "$JAR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5 +$as_echo "$JAR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAR" && break +done + + fi +fi +test "x$JAR" = x && as_fn_error $? "no acceptable jar program found in \$PATH" "$LINENO" 5 + + +if test "x$JAVADOC" = x; then + if test "x$JAVAPREFIX" = x; then + for ac_prog in javadoc$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_JAVADOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$JAVADOC"; then + ac_cv_prog_JAVADOC="$JAVADOC" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_JAVADOC="$ac_prog" + $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 +JAVADOC=$ac_cv_prog_JAVADOC +if test -n "$JAVADOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVADOC" && break +done + + else + for ac_prog in javadoc$EXEEXT +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_path_JAVADOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $JAVADOC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVADOC="$JAVADOC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in "$JAVAPREFIX" +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAVADOC="$as_dir/$ac_word$ac_exec_ext" + $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 + + ;; +esac +fi +JAVADOC=$ac_cv_path_JAVADOC +if test -n "$JAVADOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5 +$as_echo "$JAVADOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$JAVADOC" && break +done + + fi +fi +test "x$JAVADOC" = x && as_fn_error $? "no acceptable javadoc generator found in \$PATH" "$LINENO" 5 + + +escape_space() +{ sed -e "s/Program Files/Program-SPACE-Files/g" -e "s/ (x86)/SPACEX86/g" +} + +unescape_space() +{ sed -e "s/-SPACE-/ /g" -e "s/SPACEX86/ (x86)/g" +} + + + +JNI_INCLUDE_DIRS="" + +if test "x$JAVAPREFIX" = x; then + test "x$JAVAC" = x && as_fn_error $? "'$JAVAC' undefined" "$LINENO" 5 + + case "$JAVAC" in + /*) _ACJNI_JAVAC="$JAVAC" + ;; + *) # Extract the first word of "$JAVAC", so it can be a program name with args. +set dummy $JAVAC; 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_path__ACJNI_JAVAC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $_ACJNI_JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path__ACJNI_JAVAC="$_ACJNI_JAVAC" # Let the user override the test with a path. + ;; + *) + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path__ACJNI_JAVAC="$as_dir/$ac_word$ac_exec_ext" + $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 + + test -z "$ac_cv_path__ACJNI_JAVAC" && ac_cv_path__ACJNI_JAVAC="no" + ;; +esac +fi +_ACJNI_JAVAC=$ac_cv_path__ACJNI_JAVAC +if test -n "$_ACJNI_JAVAC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_ACJNI_JAVAC" >&5 +$as_echo "$_ACJNI_JAVAC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + ;; + esac + + # Extract the first word of "$JAVAC", so it can be a program name with args. +set dummy $JAVAC; 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_path__ACJNI_JAVAC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $_ACJNI_JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path__ACJNI_JAVAC="$_ACJNI_JAVAC" # Let the user override the test with a path. + ;; + *) + 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path__ACJNI_JAVAC="$as_dir/$ac_word$ac_exec_ext" + $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 + + test -z "$ac_cv_path__ACJNI_JAVAC" && ac_cv_path__ACJNI_JAVAC="no" + ;; +esac +fi +_ACJNI_JAVAC=$ac_cv_path__ACJNI_JAVAC +if test -n "$_ACJNI_JAVAC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_ACJNI_JAVAC" >&5 +$as_echo "$_ACJNI_JAVAC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test "x$_ACJNI_JAVAC" = xno && as_fn_error $? "$JAVAC could not be found in path" "$LINENO" 5 + + +# find the include directory relative to the javac executable +_cur=""$_ACJNI_JAVAC"" +while ls -ld "$_cur" 2>/dev/null | grep " -> " >/dev/null; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking symlink for $_cur" >&5 +$as_echo_n "checking symlink for $_cur... " >&6; } + _slink=`ls -ld "$_cur" | sed 's/.* -> //'` + case "$_slink" in + /*) _cur="$_slink";; + # 'X' avoids triggering unwanted echo options. + *) _cur=`echo "X$_cur" | sed -e 's/^X//' -e 's:[^/]*$::'`"$_slink";; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cur" >&5 +$as_echo "$_cur" >&6; } +done +_ACJNI_FOLLOWED="$_cur" + + _JTOPDIR=`echo "$_ACJNI_FOLLOWED" | sed -e 's://*:/:g' -e 's:/[^/]*$::'` +else + _JTOPDIR="$(dirname "$JAVAPREFIX")" +fi + +case "$host_os" in + darwin*) + _J2TOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[^/]*$::'` + if test -d "$_J2TOPDIR/Headers"; then + _JINC="$_J2TOPDIR/Headers" + elif test -d "$_J2TOPDIR/Contents/Home/include"; then + _JTOPDIR="$_J2TOPDIR/Contents/Home" + _JINC="$_J2TOPDIR/Contents/Home/include" + else + _JINC="$_JTOPDIR/include" + fi + ;; + *) _JINC="$_JTOPDIR/include";; +esac +if test -f "$_JINC/jni.h"; then + JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JINC" +else + _JTOPDIR=`echo "$_JTOPDIR" | sed -e 's:/[^/]*$::'` + if test -f "$_JTOPDIR/include/jni.h"; then + JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JTOPDIR/include" + else + as_fn_error $? "cannot find java include files" "$LINENO" 5 + fi +fi + +# get the likely subdirectories for system specific java includes +case "$host_os" in +bsdi*) _JNI_INC_SUBDIRS="bsdos";; +linux*) _JNI_INC_SUBDIRS="linux genunix";; +mingw32*) _JNI_INC_SUBDIRS="win32";; +osf*) _JNI_INC_SUBDIRS="alpha";; +solaris*) _JNI_INC_SUBDIRS="solaris";; +darwin*) _JNI_INC_SUBDIRS="darwin genunix";; +*) _JNI_INC_SUBDIRS="genunix";; +esac + +# add any subdirectories that are present +for JINCSUBDIR in $_JNI_INC_SUBDIRS +do + if test -d "$_JINC/$JINCSUBDIR"; then + JNI_INCLUDE_DIRS="$JNI_INCLUDE_DIRS $_JINC/$JINCSUBDIR" + fi +done + +case "$host_os" in +mingw32*) JNI_CLIENT_DIRS="$_JTOPDIR/lib $_JTOPDIR/jre/bin $_JTOPDIR/jre/bin/server" + ;; + +*) case "$host_cpu" in + i?86) + _JNI_LIBDIRS="lib/i386 lib/amd64 lib" + _JNI_LIBSUBDIRS="server client" + ;; + x86_64) + _JNI_LIBDIRS="lib/amd64" + _JNI_LIBSUBDIRS="server" + ;; + powerpc) + case "$host_os" in + linux*) + _JNI_LIBDIRS="lib/ppc bin" + _JNI_LIBSUBDIRS="server classic" + ;; + *) + _JNI_LIBDIRS="" + esac + ;; + *) + # Fallback option should work on all architectures except + # amd64 and powerpc which are special cased above. + _JNI_LIBDIRS="lib/$host_cpu" + _JNI_LIBSUBDIRS="server" +esac + +for d in $_JNI_LIBDIRS; do + for subd in $_JNI_LIBSUBDIRS; do + echo "Trying $_JTOPDIR/jre/$d/$subd" + if test -d $_JTOPDIR/jre/$d/$subd; then + JNI_CLIENT_DIRS="$JNI_CLIENT_DIRS $_JTOPDIR/jre/$d/$subd $_JTOPDIR/jre/$d" + fi + done +done + +;; +esac + + +for d in $(echo $JNI_INCLUDE_DIRS | escape_space); do + JPLCFLAGS="$JPLCFLAGS -I'$d'" +done +JPLCFLAGS="$(echo $JPLCFLAGS | unescape_space)" + +for d in $(echo $JNI_CLIENT_DIRS | escape_space); do + JPLLDFLAGS="$JPLLDFLAGS -L'$d'" +done +JPLLDFLAGS="$(echo $JPLLDFLAGS | unescape_space)" + +for d in $(echo $JNI_CLIENT_DIRS | escape_space); do + if test -f "$d/libjsig.$SO"; then + JAVALIBS="-ljsig $JAVALIBS" + JAVA_PRELOAD=$d/libjsig.$SO + break + fi +done +JAVA_PRELOAD="$(echo $JAVA_PRELOAD | unescape_space)" + +if test "$java_abs_paths" = yes; then + JAVA_CC="$JAVA_BINDIR/$JAVA_CC" +fi + + +# Check whether --with-junit was given. +if test "${with_junit+set}" = set; then : + withval=$with_junit; case "$withval" in + yes) JUNIT=/usr/share/java/junit.jar + ;; + no) JUNIT="" + ;; + *) JUNIT="$withval" + ;; + esac + +else + if test "x$JUNIT" = "x" -a -r /usr/share/java/junit.jar; then + JUNIT=/usr/share/java/junit.jar + fi + + +fi + + +for ac_header in wchar.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" +if test "x$ac_cv_header_wchar_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WCHAR_H 1 +_ACEOF + +fi + +done + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t" >&5 +$as_echo_n "checking size of wchar_t... " >&6; } +if ${ac_cv_sizeof_wchar_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (wchar_t))" "ac_cv_sizeof_wchar_t" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_wchar_t" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (wchar_t) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_wchar_t=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_wchar_t" >&5 +$as_echo "$ac_cv_sizeof_wchar_t" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_WCHAR_T $ac_cv_sizeof_wchar_t +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 +$as_echo_n "checking size of void*... " >&6; } +if ${ac_cv_sizeof_voidp+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_voidp" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (void*) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_voidp=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 +$as_echo "$ac_cv_sizeof_voidp" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOIDP $ac_cv_sizeof_voidp +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 +$as_echo_n "checking size of long long... " >&6; } +if ${ac_cv_sizeof_long_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 +$as_echo "$ac_cv_sizeof_long_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long +_ACEOF + + + + + + + + + + +fi + +if test "$ENABLE_CLIB" = "" +then + + + + + + + + + + + + + +CLIB_TARGETS="socket.$SO cgi.$SO memfile.$SO files.$SO mime.$SO crypt.$SO time.$SO" + +case "$PLARCH" in + *-win32|*-win64) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lws2_32" >&5 +$as_echo_n "checking for main in -lws2_32... " >&6; } +if ${ac_cv_lib_ws2_32_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lws2_32 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ws2_32_main=yes +else + ac_cv_lib_ws2_32_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32_main" >&5 +$as_echo "$ac_cv_lib_ws2_32_main" >&6; } +if test "x$ac_cv_lib_ws2_32_main" = xyes; then : + CLIB_NETLIBS="$CLIB_NETLIBS -lws2_32" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgdi32" >&5 +$as_echo_n "checking for main in -lgdi32... " >&6; } +if ${ac_cv_lib_gdi32_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgdi32 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_gdi32_main=yes +else + ac_cv_lib_gdi32_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gdi32_main" >&5 +$as_echo "$ac_cv_lib_gdi32_main" >&6; } +if test "x$ac_cv_lib_gdi32_main" = xyes; then : + CLIB_NETLIBS="$CLIB_NETLIBS -lgdi32" +fi + + ;; + *) + CLIB_TARGETS="$CLIB_TARGETS uid.$SO unix.$SO" + ;; +esac + +ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket" +if test "x$ac_cv_func_socket" = xyes; then : + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 +$as_echo_n "checking for socket in -lsocket... " >&6; } +if ${ac_cv_lib_socket_socket+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char socket (); +int +main () +{ +return socket (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_socket_socket=yes +else + ac_cv_lib_socket_socket=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 +$as_echo "$ac_cv_lib_socket_socket" >&6; } +if test "x$ac_cv_lib_socket_socket" = xyes; then : + CLIB_NETLIBS="$CLIB_NETLIBS -lsocket"; LIBS="$LIBS -lsocket" + +$as_echo "#define HAVE_LIBSOCKET 1" >>confdefs.h + +fi + +fi + +ac_fn_c_check_func "$LINENO" "gethostent" "ac_cv_func_gethostent" +if test "x$ac_cv_func_gethostent" = xyes; then : + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostent in -lnsl" >&5 +$as_echo_n "checking for gethostent in -lnsl... " >&6; } +if ${ac_cv_lib_nsl_gethostent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostent (); +int +main () +{ +return gethostent (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_nsl_gethostent=yes +else + ac_cv_lib_nsl_gethostent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostent" >&5 +$as_echo "$ac_cv_lib_nsl_gethostent" >&6; } +if test "x$ac_cv_lib_nsl_gethostent" = xyes; then : + CLIB_NETLIBS="$CLIB_NETLIBS -lnsl" + +$as_echo "#define HAVE_LIBNSL 1" >>confdefs.h + +fi + +fi + + + +if test x"$CLIB_LIBUUID" = "x"; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_create in -lossp-uuid" >&5 +$as_echo_n "checking for uuid_create in -lossp-uuid... " >&6; } +if ${ac_cv_lib_ossp_uuid_uuid_create+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lossp-uuid $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_create (); +int +main () +{ +return uuid_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ossp_uuid_uuid_create=yes +else + ac_cv_lib_ossp_uuid_uuid_create=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ossp_uuid_uuid_create" >&5 +$as_echo "$ac_cv_lib_ossp_uuid_uuid_create" >&6; } +if test "x$ac_cv_lib_ossp_uuid_uuid_create" = xyes; then : + CLIB_LIBUUID=-lossp-uuid + +fi + +fi +if test x"$CLIB_LIBUUID" = "x"; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_create in -luuid" >&5 +$as_echo_n "checking for uuid_create in -luuid... " >&6; } +if ${ac_cv_lib_uuid_uuid_create+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_create (); +int +main () +{ +return uuid_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_uuid_uuid_create=yes +else + ac_cv_lib_uuid_uuid_create=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_create" >&5 +$as_echo "$ac_cv_lib_uuid_uuid_create" >&6; } +if test "x$ac_cv_lib_uuid_uuid_create" = xyes; then : + CLIB_LIBUUID=-luuid + +fi + +fi +if test x"$CLIB_LIBUUID" = "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find libossp-uuid or libuuid -- dropping uuid.pl" >&5 +$as_echo "$as_me: WARNING: Cannot find libossp-uuid or libuuid -- dropping uuid.pl" >&2;} +else + if test x"$UUID_H" = "x"; then + ac_fn_c_check_header_compile "$LINENO" "ossp/uuid.h" "ac_cv_header_ossp_uuid_h" "/*first*/ +" +if test "x$ac_cv_header_ossp_uuid_h" = xyes; then : + UUID_H=ossp/uuid.h +fi + + + fi + if test x"$UUID_H" = "x"; then + ac_fn_c_check_header_compile "$LINENO" "uuid.h" "ac_cv_header_uuid_h" "/*first*/ +" +if test "x$ac_cv_header_uuid_h" = xyes; then : + UUID_H=uuid.h +fi + + + fi + if test x"$UUID_H" = "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find uuid.h -- dropping uuid.pl" >&5 +$as_echo "$as_me: WARNING: Cannot find uuid.h -- dropping uuid.pl" >&2;} + else + +cat >>confdefs.h <<_ACEOF +#define UUID_H <$UUID_H> +_ACEOF + + CLIB_TARGETS="$CLIB_TARGETS uuid.$SO" + fi +fi + + +oldlibs="$LIBS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 +$as_echo_n "checking for crypt in -lcrypt... " >&6; } +if ${ac_cv_lib_crypt_crypt+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcrypt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char crypt (); +int +main () +{ +return crypt (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_crypt_crypt=yes +else + ac_cv_lib_crypt_crypt=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 +$as_echo "$ac_cv_lib_crypt_crypt" >&6; } +if test "x$ac_cv_lib_crypt_crypt" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBCRYPT 1 +_ACEOF + + LIBS="-lcrypt $LIBS" + +fi + +CLIB_CRYPTLIBS="$LIBS" +ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt" +if test "x$ac_cv_func_crypt" = xyes; then : + +else + CLIB_CRYPTOBJ=bsd-crypt.o +fi + + +$as_echo "#define HAVE_CRYPT 1" >>confdefs.h + +LIBS="$oldlibs" + +ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" +if test "x$ac_cv_func_syslog" = xyes; then : + CLIB_TARGETS="$CLIB_TARGETS syslog.$SO" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find syslog\"()\" -- dropping syslog.pl" >&5 +$as_echo "$as_me: WARNING: Cannot find syslog\"()\" -- dropping syslog.pl" >&2;} +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking \"Configuring MIME libraries\"" >&5 +$as_echo_n "checking \"Configuring MIME libraries\"... " >&6; } +case "$CC" in + .*) ACC="../../$CC" + ;; + *) ACC="$CC" +esac +case "$LD" in + .*) ALD="../../$LD" + ;; + *) ALD="$LD" +esac +case "$CPP" in + .*) ACPP="../../$CPP" + ;; + *) ACPP="$CPP" +esac + +( CC=$ACC; LD=$ALD; CPP=$ACPP; CFLAGS=$SHLIB_CFLAGS; LDFLAGS=$LDFLAGS; + export CC LD CFLAGS LDFLAGS; + mkdir -p packages/clib/maildrop/rfc822; + mkdir -p packages/clib/maildrop/rfc2045; + ( cd packages/clib/maildrop/rfc822 && $SHELL ../../../../"$srcdir"/packages/clib/maildrop/rfc822/configure --host=$host) + ( cd packages/clib/maildrop/rfc2045 && $SHELL ../../../../"$srcdir"/packages/clib/maildrop/rfc2045/configure --host=$host) +) + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: \"Done\"" >&5 +$as_echo "\"Done\"" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking h_errno" >&5 +$as_echo_n "checking h_errno... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#include + +int +main () +{ + int x = h_errno; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +$as_echo "#define HAVE_H_ERRNO 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +for ac_header in malloc.h alloca.h unistd.h sys/time.h fcntl.h utime.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in execinfo.h sys/resource.h crypt.h syslog.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in sys/types.h sys/wait.h sys/stat.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in netinet/tcp.h crt_externs.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 +$as_echo_n "checking size of long long... " >&6; } +if ${ac_cv_sizeof_long_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 +$as_echo "$ac_cv_sizeof_long_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long +_ACEOF + + + +for ac_func in setsid strerror utime getrlimit strcasestr vfork _NSGetEnviron do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -11843,38 +11557,116 @@ _ACEOF fi done - ac_fn_c_check_type "$LINENO" "SQLLEN" "ac_cv_type_SQLLEN" "#include - -" -if test "x$ac_cv_type_SQLLEN" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_SQLLEN 1 +for ac_func in pipe2 +do : + ac_fn_c_check_func "$LINENO" "pipe2" "ac_cv_func_pipe2" +if test "x$ac_cv_func_pipe2" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PIPE2 1 _ACEOF - fi -ac_fn_c_check_type "$LINENO" "SQLULEN" "ac_cv_type_SQLULEN" "#include +done + +ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " +#include +#include " -if test "x$ac_cv_type_SQLULEN" = xyes; then : +if test "x$ac_cv_type_socklen_t" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_SQLULEN 1 +#define HAVE_SOCKLEN_T 1 _ACEOF fi +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" " +#include +#include + +" +if test "x$ac_cv_type_ssize_t" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_SSIZE_T 1 +_ACEOF + + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking _XOPEN_SOURCE" >&5 +$as_echo_n "checking _XOPEN_SOURCE... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#define _XOPEN_SOURCE +#include + +int +main () +{ + + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +$as_echo "#define DEFINE_XOPEN_SOURCE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - ODBC_TARGETS=nolib - ODBC_PLTARGETS=odbc.pl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +with_time=yes + +# Check whether --with-time was given. +if test "${with_time+set}" = set; then : + withval=$with_time; case "$withval" in + yes) with_time=yes ;; + no) with_time=no ;; + esac fi +if test "$ac_cv_func_getrlimit" = "yes"; then + CLIB_TARGETS="$CLIB_TARGETS rlimit.$SO" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find getrlimit\"()\" -- dropping rlimit.pl" >&5 +$as_echo "$as_me: WARNING: Cannot find getrlimit\"()\" -- dropping rlimit.pl" >&2;} +fi + +CLIB_PLTARGETS=`echo $CLIB_TARGETS | sed -e "s/\.$SO/.pl/g" -e "s/files.pl/filesex.pl/"` +if echo "$PL_CLIB_TARGETS" | grep socket.pl 2>&1 >/dev/null; then + CLIB_PLTARGETS="$PLCLIB_TARGETS streampool.pl" +fi + + + + + + +fi + if test "$ENABLE_LIBARCHIVE" = "" then -OLD_LIBS=$LIBS + + + + + + + + + ac_fn_c_check_header_mongrel "$LINENO" "archive.h" "ac_cv_header_archive_h" "$ac_includes_default" if test "x$ac_cv_header_archive_h" = xyes; then : @@ -11927,7 +11719,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_archive_archive_read_new" >&5 $as_echo "$ac_cv_lib_archive_archive_read_new" >&6; } if test "x$ac_cv_lib_archive_archive_read_new" = xyes; then : - ARCHIVE_LIBS="-larchive" + ARCHIVE_LIBS="$LIBS -larchive" ARCHIVELIB=yes else ARCHIVELIB=no @@ -11935,7 +11727,6 @@ fi fi -LIBS="$LIBS -larchive" for ac_func in archive_read_support_compression_bzip2 \ archive_read_support_compression_compress \ archive_read_support_compression_gzip \ @@ -11993,6 +11784,1011 @@ else # MacOS (Macports): port install libarchive ################################################################## EOF +fi + + + + +fi + +if test "$ENABLE_ODBC" = ""; then + + + + + + + + + + + + + +# Check whether --with-odbc was given. +if test "${with_odbc+set}" = set; then : + withval=$with_odbc; case $withval in + no|yes) echo 'Specify dir for XPM please'; + exit 1 ;; + *) ODBC_DIR=${withval} + esac +fi + + +if test ! -z "$ODBC_DIR"; then + ODBC_CFLAGS="-I${ODBC_DIR}/include" + ODBC_LDFLAGS="-L${ODBC_DIR}/lib" + CFLAGS="-I${ODBC_DIR}/include ${CFLAGS}" + CPPFLAGS="-I${ODBC_DIR}/include ${CPPFLAGS}" + CIFLAGS="-I${ODBC_DIR}/include ${CIFLAGS}" + LDFLAGS="-L${ODBC_DIR}/lib ${LDFLAGS}" +fi + +havelib=no +case "$PLARCH" in + *-win32|*-win64) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lodbc32" >&5 +$as_echo_n "checking for main in -lodbc32... " >&6; } +if ${ac_cv_lib_odbc32_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc32 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_odbc32_main=yes +else + ac_cv_lib_odbc32_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_odbc32_main" >&5 +$as_echo "$ac_cv_lib_odbc32_main" >&6; } +if test "x$ac_cv_lib_odbc32_main" = xyes; then : + ODBC_LIBS="-lodbc32 $LIBS" + havelib=yes +fi + + ;; + *) + if test $havelib = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SQLAllocEnv in -lodbc" >&5 +$as_echo_n "checking for SQLAllocEnv in -lodbc... " >&6; } +if ${ac_cv_lib_odbc_SQLAllocEnv+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lodbc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SQLAllocEnv (); +int +main () +{ +return SQLAllocEnv (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_odbc_SQLAllocEnv=yes +else + ac_cv_lib_odbc_SQLAllocEnv=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_odbc_SQLAllocEnv" >&5 +$as_echo "$ac_cv_lib_odbc_SQLAllocEnv" >&6; } +if test "x$ac_cv_lib_odbc_SQLAllocEnv" = xyes; then : + ODBC_LIBS="-lodbc $LIBS" + havelib=yes +fi + + if test $havelib = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SQLAllocEnv in -liodbc" >&5 +$as_echo_n "checking for SQLAllocEnv in -liodbc... " >&6; } +if ${ac_cv_lib_iodbc_SQLAllocEnv+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-liodbc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SQLAllocEnv (); +int +main () +{ +return SQLAllocEnv (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_iodbc_SQLAllocEnv=yes +else + ac_cv_lib_iodbc_SQLAllocEnv=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iodbc_SQLAllocEnv" >&5 +$as_echo "$ac_cv_lib_iodbc_SQLAllocEnv" >&6; } +if test "x$ac_cv_lib_iodbc_SQLAllocEnv" = xyes; then : + ODBC_LIBS="-liodbc $LIBS" + havelib=yes +fi + + fi + fi +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) + +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + + +for ac_header in malloc.h time.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in sql.h +do : + ac_fn_c_check_header_compile "$LINENO" "sql.h" "ac_cv_header_sql_h" " +#ifdef __WINDOWS__ +#include +#endif + +" +if test "x$ac_cv_header_sql_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SQL_H 1 +_ACEOF + +fi + +done + +for ac_func in localtime mktime gmtime timegm +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default" +if test "x$ac_cv_type_long_long" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_LONG_LONG 1 +_ACEOF + + +fi + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of SQLWCHAR" >&5 +$as_echo_n "checking size of SQLWCHAR... " >&6; } +if ${ac_cv_sizeof_SQLWCHAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (SQLWCHAR))" "ac_cv_sizeof_SQLWCHAR" " +#ifdef __WINDOWS__ +#include +#endif +#include + +"; then : + +else + if test "$ac_cv_type_SQLWCHAR" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (SQLWCHAR) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_SQLWCHAR=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_SQLWCHAR" >&5 +$as_echo "$ac_cv_sizeof_SQLWCHAR" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SQLWCHAR $ac_cv_sizeof_SQLWCHAR +_ACEOF + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t" >&5 +$as_echo_n "checking size of wchar_t... " >&6; } +if ${ac_cv_sizeof_wchar_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (wchar_t))" "ac_cv_sizeof_wchar_t" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_wchar_t" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (wchar_t) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_wchar_t=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_wchar_t" >&5 +$as_echo "$ac_cv_sizeof_wchar_t" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_WCHAR_T $ac_cv_sizeof_wchar_t +_ACEOF + + +ac_fn_c_check_type "$LINENO" "SQLLEN" "ac_cv_type_SQLLEN" " +#ifdef __WINDOWS__ +#include +#endif +#include + +" +if test "x$ac_cv_type_SQLLEN" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_SQLLEN 1 +_ACEOF + + +fi +ac_fn_c_check_type "$LINENO" "SQLULEN" "ac_cv_type_SQLULEN" " +#ifdef __WINDOWS__ +#include +#endif +#include + +" +if test "x$ac_cv_type_SQLULEN" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_SQLULEN 1 +_ACEOF + + +fi + + +if test "$havelib" = yes && + test "$ac_cv_header_sql_h" = yes; then + ODBC_TARGETS="odbc4pl.$SO" +else + echo "ERROR: Cannot find odbc library or the header sql.h" + echo "WARNING: ODBC interface will not be built" + ODBC_TARGETS="" +fi + +ODBC_PLTARGETS=`echo $ODBC_TARGETS | sed "s/4pl\.$SO/.pl/g"` + + + + + + +else + ODBC_TARGETS=nolib + ODBC_PLTARGETS=odbc.pl +fi + + + +# Check whether --with-cudd was given. +if test "${with_cudd+set}" = set; then : + withval=$with_cudd; yap_cv_cudd="$withval" +else + yap_cv_cudd=no +fi + + +if test "$yap_cv_cudd" = no +then + ENABLE_CUDD="@# " + ENABLE_BDDLIB="@# " +else + if test "$dynamic_bdd" = yes + then + ENABLE_BDDLIB="" + else + ENABLE_BDDLIB="@# " + fi + ENABLE_CUDD="" +fi + + + +if test "$yap_cv_cudd" != no; then + +oldlibs="$LIBS" + +if test "$yap_cv_cudd" != "NONE" -a "$yap_cv_cudd" != "yes"; then + CUDD_CPPFLAGS="-I $yap_cv_cudd/include" + cudd_dir="$yap_cv_cudd" +elif test "$prefix" != "NONE"; then + CUDD_CPPFLAGS="-I $prefix/include" + cudd_dir="$prefix" +else + CUDD_CPPFLAGS="-I /usr/local/include" + cudd_dir=/usr/local +fi + +OLD_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $CUDD_CPPFLAGS" + +for ac_header in util.h cudd/util.h cudd.h cudd/cudd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +for ac_header in cuddInt.h cudd/cuddInt.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +if test -d "$cudd_dir/lib64/cudd" -a "$YAP_TARGET" = amd64; then + LIBS="$LIBS -L $cudd_dir/lib64/cudd" +elif test -d "$cudd_dir/lib64" -a "$YAP_TARGET" = amd64; then + LIBS="$LIBS -L $cudd_dir/lib64 -L $cudd_dir/lib" +elif test -d "$cudd_dir/lib/cudd"; then + LIBS="$LIBS -L $cudd_dir/lib/cudd" +elif test -d "$cudd_dir/lib"; then + LIBS="$LIBS -L $cudd_dir/lib" +fi + +if test -d "$cudd_dir/util"; then + LIBS="$LIBS -L $cudd_dir/util" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing util_print_cpu_stats" >&5 +$as_echo_n "checking for library containing util_print_cpu_stats... " >&6; } +if ${ac_cv_search_util_print_cpu_stats+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char util_print_cpu_stats (); +int +main () +{ +return util_print_cpu_stats (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cuddutil util; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_util_print_cpu_stats=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_util_print_cpu_stats+:} false; then : + break +fi +done +if ${ac_cv_search_util_print_cpu_stats+:} false; then : + +else + ac_cv_search_util_print_cpu_stats=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_util_print_cpu_stats" >&5 +$as_echo "$ac_cv_search_util_print_cpu_stats" >&6; } +ac_res=$ac_cv_search_util_print_cpu_stats +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +if test -d "$cudd_dir/st"; then + LIBS="$LIBS -L $cudd_dir/st" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing st_insert" >&5 +$as_echo_n "checking for library containing st_insert... " >&6; } +if ${ac_cv_search_st_insert+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char st_insert (); +int +main () +{ +return st_insert (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cuddst st; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_st_insert=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_st_insert+:} false; then : + break +fi +done +if ${ac_cv_search_st_insert+:} false; then : + +else + ac_cv_search_st_insert=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_st_insert" >&5 +$as_echo "$ac_cv_search_st_insert" >&6; } +ac_res=$ac_cv_search_st_insert +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +if test -d "$cudd_dir/epd"; then + LIBS="$LIBS -L $cudd_dir/epd" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing EpdAdd" >&5 +$as_echo_n "checking for library containing EpdAdd... " >&6; } +if ${ac_cv_search_EpdAdd+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char EpdAdd (); +int +main () +{ +return EpdAdd (); + ; + return 0; +} +_ACEOF +for ac_lib in '' epd; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_EpdAdd=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_EpdAdd+:} false; then : + break +fi +done +if ${ac_cv_search_EpdAdd+:} false; then : + +else + ac_cv_search_EpdAdd=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_EpdAdd" >&5 +$as_echo "$ac_cv_search_EpdAdd" >&6; } +ac_res=$ac_cv_search_EpdAdd +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +if test -d "$cudd_dir/mtr"; then + LIBS="$LIBS -L $cudd_dir/mtr" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing Mtr_InitTree" >&5 +$as_echo_n "checking for library containing Mtr_InitTree... " >&6; } +if ${ac_cv_search_Mtr_InitTree+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char Mtr_InitTree (); +int +main () +{ +return Mtr_InitTree (); + ; + return 0; +} +_ACEOF +for ac_lib in '' mtr; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_Mtr_InitTree=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_Mtr_InitTree+:} false; then : + break +fi +done +if ${ac_cv_search_Mtr_InitTree+:} false; then : + +else + ac_cv_search_Mtr_InitTree=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_Mtr_InitTree" >&5 +$as_echo "$ac_cv_search_Mtr_InitTree" >&6; } +ac_res=$ac_cv_search_Mtr_InitTree +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +if test -d "$cudd_dir/cudd"; then + LIBS="$LIBS -L $cudd_dir/cudd" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing Cudd_Init" >&5 +$as_echo_n "checking for library containing Cudd_Init... " >&6; } +if ${ac_cv_search_Cudd_Init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char Cudd_Init (); +int +main () +{ +return Cudd_Init (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cudd; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_Cudd_Init=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_Cudd_Init+:} false; then : + break +fi +done +if ${ac_cv_search_Cudd_Init+:} false; then : + +else + ac_cv_search_Cudd_Init=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_Cudd_Init" >&5 +$as_echo "$ac_cv_search_Cudd_Init" >&6; } +ac_res=$ac_cv_search_Cudd_Init +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + cudd_installed="yes" +else + cudd_installed="no" +fi + + +CPPFLAGS="$OLD_CPPFLAGS" + +if test "$cudd_installed" = yes; then + CUDD_LDFLAGS="$LIBS" +else + cat << EOF +################################################################## +# ERROR: Could not find cudd library. Either I don't have the +# correct path, or CUDD is installed in some strange way +################################################################## +EOF + fi + +LIBS="$oldlibs" fi @@ -12000,10 +12796,448 @@ fi -LIBS="$OLD_LIBS" + + +if test "$ENABLE_ZLIB" = "" +then + + + + + + + + + + +for ac_header in zlib.h zutil.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlibVersion in -lz" >&5 +$as_echo_n "checking for zlibVersion in -lz... " >&6; } +if ${ac_cv_lib_z_zlibVersion+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char zlibVersion (); +int +main () +{ +return zlibVersion (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_z_zlibVersion=yes +else + ac_cv_lib_z_zlibVersion=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_zlibVersion" >&5 +$as_echo "$ac_cv_lib_z_zlibVersion" >&6; } +if test "x$ac_cv_lib_z_zlibVersion" = xyes; then : + ZLIBS="$LIBS -lz" + ZLIB=yes +else + ZLIB=no fi +if test "$ZLIB" = yes; then + ZLIB_TARGETS="zlib4pl.$SO" + ZLIB_PLTARGETS=zlib.pl +else + ZLIB_TARGETS=nolib + cat << EOF +################################################################## +# ERROR: Could not find library zlib (-lz). Dropped library(zlib) +# Library zlib is available from http://www.zlib.net/ +# Most Unix/Linux distributions are shipped with binaries. Make +# sure to have the development library installed. +################################################################## +EOF +fi + + + +fi + + +if test -d /usr/local/include/gecode; then + CFLAGS="$CFLAGS -I/usr/local/include" + SHLIB_CXXFLAGS="$SHLIB_CXXFLAGS -I/usr/local/include" + GECODE_EXTRALIBS="-L/usr/local/lib" +fi + +ac_fn_c_check_header_mongrel "$LINENO" "gecode/support/config.hpp" "ac_cv_header_gecode_support_config_hpp" "$ac_includes_default" +if test "x$ac_cv_header_gecode_support_config_hpp" = xyes; then : + have_gecode=yes +else + have_gecode=no +fi + + + +# Check whether --enable-gecode was given. +if test "${enable_gecode+set}" = set; then : + enableval=$enable_gecode; use_gecode="$enableval" + if test "$use_gecode" = yes; then + if test "$have_gecode" = no; then + as_fn_error $? "cannot enable gecode: gecode library not found" "$LINENO" 5 + fi + fi +else + use_gecode=$have_gecode +fi + + +if test "$use_gecode" = no; then + ENABLE_GECODE="@# " +else + ENABLE_GECODE="" +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dynamic arrays are supported" >&5 +$as_echo_n "checking if dynamic arrays are supported... " >&6; } + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + void foo(int n) { int a[n]; a[1]=0; } +int +main () +{ +foo(3); + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_DYNARRAY 1" >>confdefs.h + + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +GECODE_VERSION=unknown-gecode-version + + +if test "$use_gecode" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking gecode version" >&5 +$as_echo_n "checking gecode version... " >&6; } + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include "gecode/support/config.hpp" +#include + +int +main () +{ + + FILE* out = fopen("conftest.out","w"); + fprintf(out,"%s\n",GECODE_VERSION); + fclose(out); + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + GECODE_VERSION=$(cat conftest.out) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GECODE_VERSION" >&5 +$as_echo "$GECODE_VERSION" >&6; } +else + as_fn_error $? "cannot determine gecode version" "$LINENO" 5 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + case "$target_os" in + *darwin*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -framework gecode is required" >&5 +$as_echo_n "checking if -framework gecode is required... " >&6; } + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + saved_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -framework gecode" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include "gecode/int.hh" + +int +main () +{ + +Gecode::Exception e("",""); +return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + GECODE_EXTRALIBS="-framework gecode" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + 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 + + CXXFLAGS="$saved_CXXFLAGS" + ;; + esac +fi + +GECODE_MAJOR=`echo $GECODE_VERSION| sed 's/\(^.\).*/\1/'` + + + +if test "$GECODE_MAJOR" = "3"; then + GECODE_EXTRALIBS="$GECODE_EXTRALIBS -lgecodesupport -lgecodekernel -lgecodeint -lgecodeset -lgecodesearch" +else + GECODE_EXTRALIBS="$GECODE_EXTRALIBS -lgecodesupport -lgecodekernel -lgecodefloat -lgecodeint -lgecodeset -lgecodesearch" +fi + + + + + + +# Check whether --with-python was given. +if test "${with_python+set}" = set; then : + withval=$with_python; if test "$withval" = yes; then + yap_cv_python=yes + elif test "$withval" = no; then + yap_cv_python=no + else + yap_cv_python=$withval + fi +else + yap_cv_python=no +fi + + +if test "$yap_cv_python" = "no"; then + PYTHON_TARGET="dummy" + ENABLE_PYTHON="@# " +elif test -e "$srcdir"/packages/python/Makefile.in ; then + PYTHON_TARGET="pitf" + ENABLE_PYTHON="" + if test "$yap_cv_python" = "yes" + then + for ac_prog in python +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; 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_PYTHON+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PYTHON"; then + ac_cv_prog_PYTHON="$PYTHON" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PYTHON="$ac_prog" + $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 +PYTHON=$ac_cv_prog_PYTHON +if test -n "$PYTHON"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +$as_echo "$PYTHON" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$PYTHON" && break +done +test -n "$PYTHON" || PYTHON=""none"" + + else + PYTHON="$yap_cv_python" + fi + PYTHONHOME=`$PYTHON -c'import sys; print sys.prefix'` + PYTHONVERSION=`"$PYTHON" -c "import sys; print sys.version[:3]"` + PYTHON_LIBS="-L $PYTHONHOME/lib -lpython$PYTHONVERSION" + PYTHON_INCLUDES="-I $PYTHONHOME/include/python$PYTHONVERSION" +else + PYTHON_TARGET="dummy" + ENABLE_PYTHON="@# " +fi + + + + + + +if test "$ENABLE_PYTHON" = ""; then +ac_config_files="$ac_config_files packages/python/Makefile" + +fi + + + + +# Check whether --with-cuda was given. +if test "${with_cuda+set}" = set; then : + withval=$with_cuda; if test "$withval" = yes; then + yap_cv_cuda=/usr + elif test "$withval" = no; then + yap_cv_cuda=no + else + yap_cv_cuda="$withval" + fi +else + yap_cv_cuda=no +fi + + + +CUDA_LDFLAGS="" +CUDA_CPPFLAGS="" +if test "$yap_cv_cuda" = no +then + ENABLE_CUDA="@# " +else + # Extract the first word of "nvcc", so it can be a program name with args. +set dummy nvcc; 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_path_NVCC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $NVCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_NVCC="$NVCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $yap_cv_cuda/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_NVCC="$as_dir/$ac_word$ac_exec_ext" + $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 + + test -z "$ac_cv_path_NVCC" && ac_cv_path_NVCC="no" + ;; +esac +fi +NVCC=$ac_cv_path_NVCC +if test -n "$NVCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NVCC" >&5 +$as_echo "$NVCC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "$yap_cv_cuda" = no + then + ENABLE_CUDA="@# " + else + ENABLE_CUDA="" + case "$target_os" in + *darwin*) + CUDA_LDFLAGS="$LDFLAGS" + CUDA_CPPFLAGS="-arch=sm_20 -Xcompiler -fPIC -O3 " + CUDA_SHLIB_LD="$NVCC -Xcompiler -dynamiclib -L../.. -lYap " + ;; + **) + CUDA_LDFLAGS="$LDFLAGS $LIBS" + CUDA_CPPFLAGS=" -arch=sm_20 -Xcompiler -fPIC -O3 " + CUDA_SHLIB_LD="$NVCC -Xcompiler -export-dynamic" + ;; + esac + fi +fi + + + + + + + +ac_config_files="$ac_config_files packages/cuda/Makefile" @@ -12133,12 +13367,6 @@ fi if test "$ENABLE_CLIB" = ""; then ac_config_files="$ac_config_files packages/clib/Makefile" -ac_config_files="$ac_config_files packages/clib/maildrop/rfc822/Makefile" - -ac_config_files="$ac_config_files packages/clib/maildrop/rfc2045/Makefile" - -ac_config_files="$ac_config_files packages/clib/maildrop/rfc2045/rfc2045charset.h" - fi if test "$ENABLE_CLPQR" = ""; then @@ -12156,11 +13384,6 @@ ac_config_files="$ac_config_files packages/jpl/Makefile packages/jpl/jpl_paths.y fi -if test "$ENABLE_PYTHON" = ""; then -ac_config_files="$ac_config_files packages/python/Makefile" - -fi - if test "$ENABLE_PLDOC" = ""; then ac_config_files="$ac_config_files packages/pldoc/Makefile" @@ -12236,7 +13459,7 @@ ac_config_files="$ac_config_files packages/CLPBN/horus/Makefile" fi if test "$ENABLE_GECODE" = ""; then -ac_config_files="$ac_config_files library/gecode/Makefile" +ac_config_files="$ac_config_files packages/gecode/Makefile" fi @@ -12250,9 +13473,6 @@ fi ac_config_files="$ac_config_files packages/yap-lbfgs/Makefile" -ac_config_files="$ac_config_files packages/cuda/Makefile" - - cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -12363,6 +13583,7 @@ LTLIBOBJS=$ac_ltlibobjs + : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files @@ -12660,16 +13881,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -12729,16 +13950,28 @@ else as_mkdir_p=false fi - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -12760,7 +13993,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -12822,10 +14055,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.69, +configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -12915,7 +14148,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -12946,6 +14179,8 @@ do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "YapTermConfig.h") CONFIG_HEADERS="$CONFIG_HEADERS YapTermConfig.h" ;; + "packages/python/Makefile") CONFIG_FILES="$CONFIG_FILES packages/python/Makefile" ;; + "packages/cuda/Makefile") CONFIG_FILES="$CONFIG_FILES packages/cuda/Makefile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "library/Makefile") CONFIG_FILES="$CONFIG_FILES library/Makefile" ;; "library/lammpi/Makefile") CONFIG_FILES="$CONFIG_FILES library/lammpi/Makefile" ;; @@ -12971,15 +14206,11 @@ do "swi/library/clp/Makefile") CONFIG_FILES="$CONFIG_FILES swi/library/clp/Makefile" ;; "packages/chr/Makefile") CONFIG_FILES="$CONFIG_FILES packages/chr/Makefile" ;; "packages/clib/Makefile") CONFIG_FILES="$CONFIG_FILES packages/clib/Makefile" ;; - "packages/clib/maildrop/rfc822/Makefile") CONFIG_FILES="$CONFIG_FILES packages/clib/maildrop/rfc822/Makefile" ;; - "packages/clib/maildrop/rfc2045/Makefile") CONFIG_FILES="$CONFIG_FILES packages/clib/maildrop/rfc2045/Makefile" ;; - "packages/clib/maildrop/rfc2045/rfc2045charset.h") CONFIG_FILES="$CONFIG_FILES packages/clib/maildrop/rfc2045/rfc2045charset.h" ;; "packages/clpqr/Makefile") CONFIG_FILES="$CONFIG_FILES packages/clpqr/Makefile" ;; "packages/http/Makefile") CONFIG_FILES="$CONFIG_FILES packages/http/Makefile" ;; "packages/jpl/Makefile") CONFIG_FILES="$CONFIG_FILES packages/jpl/Makefile" ;; "packages/jpl/jpl_paths.yap") CONFIG_FILES="$CONFIG_FILES packages/jpl/jpl_paths.yap" ;; "packages/jpl/src/java/Makefile") CONFIG_FILES="$CONFIG_FILES packages/jpl/src/java/Makefile" ;; - "packages/python/Makefile") CONFIG_FILES="$CONFIG_FILES packages/python/Makefile" ;; "packages/pldoc/Makefile") CONFIG_FILES="$CONFIG_FILES packages/pldoc/Makefile" ;; "packages/pldoc/server/man_server.pl") CONFIG_FILES="$CONFIG_FILES packages/pldoc/server/man_server.pl" ;; "packages/plunit/Makefile") CONFIG_FILES="$CONFIG_FILES packages/plunit/Makefile" ;; @@ -12997,11 +14228,10 @@ do "packages/swi-minisat2/C/Makefile") CONFIG_FILES="$CONFIG_FILES packages/swi-minisat2/C/Makefile" ;; "packages/real/Makefile") CONFIG_FILES="$CONFIG_FILES packages/real/Makefile" ;; "packages/CLPBN/horus/Makefile") CONFIG_FILES="$CONFIG_FILES packages/CLPBN/horus/Makefile" ;; - "library/gecode/Makefile") CONFIG_FILES="$CONFIG_FILES library/gecode/Makefile" ;; + "packages/gecode/Makefile") CONFIG_FILES="$CONFIG_FILES packages/gecode/Makefile" ;; "packages/prism/src/c/Makefile") CONFIG_FILES="$CONFIG_FILES packages/prism/src/c/Makefile" ;; "packages/prism/src/prolog/Makefile") CONFIG_FILES="$CONFIG_FILES packages/prism/src/prolog/Makefile" ;; "packages/yap-lbfgs/Makefile") CONFIG_FILES="$CONFIG_FILES packages/yap-lbfgs/Makefile" ;; - "packages/cuda/Makefile") CONFIG_FILES="$CONFIG_FILES packages/cuda/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff --git a/configure.in b/configure.in index 60d1d4507..29542ebce 100755 --- a/configure.in +++ b/configure.in @@ -63,6 +63,8 @@ AC_CANONICAL_SYSTEM AC_DEFINE_UNQUOTED(HOST_ALIAS,"${target}") +m4_define([HAS_TOP]) + case "$target_cpu" in i*86*) YAP_TARGET=i386 @@ -78,64 +80,6 @@ case "$target_cpu" in ;; esac -dnl Gecode support -AC_CHECK_HEADER(gecode/support/config.hpp, - have_gecode=yes, have_gecode=no) -AC_ARG_ENABLE(gecode, - [ --enable-gecode install gecode library], - [use_gecode="$enableval" - if test "$use_gecode" = yes; then - if test "$have_gecode" = no; then - AC_MSG_ERROR([cannot enable gecode: gecode library not found]) - fi - fi], use_gecode=$have_gecode) -AC_MSG_CHECKING([if dynamic arrays are supported]) -AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[void foo(int n) { int a[n]; a[1]=0; }]],[[foo(3);]]) - ],[ - AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_DYNARRAY],[1],[Define if dynamic arrays are supported]) - ],[ - AC_MSG_RESULT([no]) - ]) -GECODE_VERSION=unknown-gecode-version -GECODE_EXTRALIBS="-lgecodesupport -lgecodekernel -lgecodeint -lgecodeset -lgecodesearch" -AC_SUBST(GECODE_VERSION) -AC_SUBST(GECODE_EXTRALIBS) -if test "$use_gecode" = yes; then - AC_MSG_CHECKING([gecode version]) - AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include "gecode/support/config.hpp" -#include -]],[[ - FILE* out = fopen("conftest.out","w"); - fprintf(out,"%s\n",GECODE_VERSION); - fclose(out); - return 0; -]])],[GECODE_VERSION=$(cat conftest.out) - AC_MSG_RESULT([$GECODE_VERSION])], - [AC_MSG_ERROR([cannot determine gecode version])]) - case "$target_os" in - *darwin*) - AC_MSG_CHECKING([if -framework gecode is required]) - AC_LANG_PUSH([C++]) - saved_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -framework gecode" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include "gecode/int.hh" -]],[[ -Gecode::Exception e("",""); -return 0; -]])],[GECODE_EXTRALIBS="-framework gecode" - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - AC_LANG_POP() - CXXFLAGS="$saved_CXXFLAGS" - ;; - esac -fi -GECODE_MAJOR=`echo $GECODE_VERSION| sed 's/\(^.\).*/\1/'` -AC_SUBST(GECODE_MAJOR) AC_ARG_ENABLE(tabling, [ --enable-tabling support tabling ], @@ -234,7 +178,7 @@ AC_ARG_WITH(gmp, LDFLAGS="$LDFLAGS -L${yap_cv_gmp}/lib" LIBS="$LIBS -L${yap_cv_gmp}/lib" CPPFLAGS="$CPPFLAGS -I${yap_cv_gmp}/include" - CFLAGS="$CFLAGS -I${yap_cv_gmp}/include" + CFLAGS="$CFLAGS -I${yap_cv_gmp}/include" fi, [yap_cv_gmp=yes]) AC_ARG_WITH(R, @@ -247,16 +191,6 @@ AC_ARG_WITH(R, yap_cv_R=$withval fi, [yap_cv_R=no]) -AC_ARG_WITH(python, - [ --with-python[=DIR] interface to R language], - if test "$withval" = yes; then - yap_cv_python=yes - elif test "$withval" = no; then - yap_cv_python=no - else - yap_cv_python=$withval - fi, - [yap_cv_python=no]) AC_ARG_WITH(judy, [ --with-judy[=DIR] UDI needs judy library], @@ -280,53 +214,6 @@ AC_ARG_WITH(minisat, fi, [yap_cv_minisat=yes]) -AC_ARG_WITH(cuda, - [ --enable-cuda use minisat interface], - if test "$withval" = yes; then - yap_cv_cuda=/usr - elif test "$withval" = no; then - yap_cv_cuda=no - else - yap_cv_cuda="$withval" - fi, - [yap_cv_cuda=no]) - -AC_ARG_WITH(cudd, - [ --with-cudd[=DIR] use CUDD package in DIR], - yap_cv_cudd="$withval", - [yap_cv_cudd=no]) - -AC_ARG_ENABLE(myddas, - [ --enable-myddas[[=DIR]] enable the MYDDAS library], - if test "$enableval" = yes; then - yap_cv_myddas=/usr - elif test "$enableval" = no; then - yap_cv_myddas=no - else - yap_cv_myddas=$enable_myddas - LDFLAGS="$LDFLAGS -L${yap_cv_myddas}/lib " - CPPFLAGS="$CPPFLAGS -I${yap_cv_myddas}/include " - ODBC_LDFLAGS="-L${yap_cv_myddas}/lib " - ODBC_CFLAGS="-I${yap_cv_myddas}/include " - fi, - [yap_cv_myddas=/usr]) - -AC_ARG_ENABLE(myddas-stats, - [ --enable-myddas-stats enable the MYDDAS library statistics support], - if test "$yap_cv_myddas" = no; then - myddasstats=no - else - myddasstats="$enableval" - fi, myddasstats=no) - -AC_ARG_ENABLE(myddas-top-level, - [ --enable-myddas-top-level enable the MYDDAS top-level support to MySQL], - if test "$yap_cv_myddas" = no; then - myddastoplevel=no - else - myddastoplevel="$enableval" - fi, myddastoplevel=no) - AC_ARG_WITH(java, [ --with-java=JAVA_HOME use Java instalation in JAVA_HOME], if test "$withval" = yes; then @@ -542,22 +429,6 @@ fi -if test "$yap_cv_cudd" = no -then - ENABLE_CUDD="@# " - ENABLE_BDDLIB="@# " -else - if test "$dynamic_bdd" = yes - then - ENABLE_BDDLIB="" - else - ENABLE_BDDLIB="@# " - fi - ENABLE_CUDD="" -fi - - - dnl condor universe does not like dynamic linking on Linux, DEC, and HP-UX platforms. if test "$use_condor" = yes then @@ -715,13 +586,11 @@ then EXTRA_LIBS_FOR_DLLS="\$(abs_top_builddir)/yap.dll $EXTRA_LIBS_FOR_DLLS" AC_CHECK_LIB(psapi,main) yap_cv_readline=no - CLIB_NETLIBS="-lws2_32 -lpsapi -lgdi32" if test "$prefix" = "NONE" then if test "$target_win64" = yes then prefix="\${SYSTEMDRIVE}/Yap64" - CLIB_NETLIBS="-lws2_32 -lwsock32 -lpsapi -lgdi32" else prefix="\${SYSTEMDRIVE}/Yap" fi @@ -785,236 +654,10 @@ then AC_CHECK_LIB(gmp,main) fi -if test "$yap_cv_R" = "no"; then - REAL_TARGET="dummy" - ENABLE_REAL="@# " -elif test -e "$srcdir"/packages/real/Makefile.in ; then - REAL_TARGET="ritf" - ENABLE_REAL="" - AC_CHECK_PROGS(REXE, R, "none") - if test "$yap_cv_R" = "yes" - then - case "$target_os" in - *darwin*) - REAL_INCLUDES="-I/Library/Frameworks/R.framework/Headers" - REAL_LIBS="-framework R -L /Library/Frameworks/R.framework/Libraries -lR" - ;; - *cygwin*|*mingw*) - REAL_INCLUDES="$($REXE CMD config --cppflags | grep -v ^WARNING)" - REAL_LIBS="$($REXE CMD config --ldflags | grep -v ^WARNING)" - ;; - **) - dnl R is spread all over the place - dnl one of the two may work (Fedora/Ubuntu) - if test -n "$R_HOME" ; then - REAL_INCLUDES="-I$R_HOME/include" - elif test "$YAP_TARGET" = amd64 -a -d /usr/lib64/R/include ; then - REAL_INCLUDES="-I/usr/lib64/R/include" - elif test -d /usr/include/R; then - REAL_INCLUDES="-I/usr/include/R" - elif test -d /usr/share/R/include; then - REAL_INCLUDES="-I/usr/share/R/include" - else - REAL_INCLUDES="$($REXE CMD config --cppflags | grep -v ^WARNING)" - fi - if test -n "$R_HOME" ; then - REAL_LIBS="-L $R_HOME/lib -lR" - elif test "$YAP_TARGET" = amd64 -a -d /usr/lib64/R/lib; then - REAL_LIBS="-L /usr/lib64/R/lib -lR" - elif test -d /usr/lib/R; then - REAL_LIBS="-L /usr/lib/R/lib -lR" - else - REAL_LIBS="$($REXE CMD config --ldflags | grep -v ^WARNING)" - fi - ;; - esac - else - case "$target_os" in - *cygwin*|*mingw*) - REAL_INCLUDES="-I\"$yap_cv_R/include\"" - if test "$YAP_TARGET" = i386; then - REAL_LIBS="\"$yap_cv_R/bin/i386/R.dll\"" - else - REAL_LIBS="\"$yap_cv_R/bin/x64/R.dll\"" - fi - ;; - *) - REAL_INCLUDES="-I$yap_cv_R/include" - REAL_LIBS="-L $yap_cv_R/lib -lR" - ;; - esac - fi - OLD_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $REAL_INCLUDES" - AC_CHECK_HEADERS(Rinterface.h) - CFLAGS="$OLD_CFLAGS" -else - REAL_TARGET="dummy" - ENABLE_REAL="@# " -fi - -if test "$yap_cv_python" = "no"; then - PYTHON_TARGET="dummy" - ENABLE_PYTHON="@# " -elif test -e "$srcdir"/packages/python/Makefile.in ; then - PYTHON_TARGET="pitf" - ENABLE_PYTHON="" - if test "$yap_cv_python" = "yes" - then - AC_CHECK_PROGS(PYTHON, python, "none") - else - PYTHON="$yap_cv_python" - fi - PYTHONHOME=`$PYTHON -c'import sys; print sys.prefix'` - PYTHONVERSION=`"$PYTHON" -c "import sys; print sys.version[[:3]]"` - PYTHON_LIBS="-L $PYTHONHOME/lib -lpython$PYTHONVERSION" - PYTHON_INCLUDES="-I $PYTHONHOME/include/python$PYTHONVERSION" -else - PYTHON_TARGET="dummy" - ENABLE_PYTHON="@# " -fi - if test "$yap_cv_judy" != "no"; then AC_CHECK_LIB(Judy, Judy1Set,,[AC_MSG_RESULT([libJudy not found, UDI will only work with one Index at a time])]) fi -CUDA_LDFLAGS="" -CUDA_CPPFLAGS="" -if test "$yap_cv_cuda" = no -then - ENABLE_CUDA="@# " -else - AC_PATH_PROG(NVCC, [nvcc], [no], [$yap_cv_cuda/bin]) - if test "$yap_cv_cuda" = no - then - ENABLE_CUDA="@# " - else - ENABLE_CUDA="" - case "$target_os" in - *darwin*) - CUDA_LDFLAGS="$LDFLAGS" - CUDA_CPPFLAGS="-shared -arch=sm_20 -Xcompiler -fPIC -O3 " - CUDA_SHLIB_LD="$NVCC -Xcompiler -dynamiclib -L../.. -lYap " - ;; - **) - CUDA_LDFLAGS="$LDFLAGS $LIBS" - CUDA_CPPFLAGS="-shared -arch=sm_20 -Xcompiler -fPIC -O3 " - CUDA_SHLIB_LD="$NVCC -shared -Xcompiler -export-dynamic" - ;; - esac - fi -fi - -dnl if test "$yap_cv_cudd" != "no" -dnl then -dnl AC_CHECK_LIB(cudd,Cudd_Init) -dnl fi - -if test "$yap_cv_myddas" != "no" -then - dnl check for mysql - AC_SEARCH_LIBS(mysql_init, [mysqlclient], [yap_cv_mysql="yes"], [yap_cv_mysql="no"]) - if test "$yap_cv_mysql" = yes - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_MYSQL" - fi - - dnl check for odbc - case "$target_os" in - *darwin*) - LIBS="$LIBS -framework CoreFoundation" - ;; - **) - ;; - esac - AC_SEARCH_LIBS(SQLAllocHandle, [odbc], [yap_cv_odbc="yes"], [yap_cv_odbc="no"]) - if test "$yap_cv_odbc" = yes - then - ODBC_LIBS="$ODBC_LIBS -lodbc" - else - AC_SEARCH_LIBS(SQLAllocHandle, [iodbc], [yap_cv_odbc="yes"], [yap_cv_odbc="no"]) - if test "$yap_cv_odbc" = yes - then - ODBC_LIBS="$ODBC_LIBS -liodbc" - fi - fi - if test "$yap_cv_odbc" = yes - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_ODBC" - fi - - if test "$myddasstats" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_STATS" - fi - - if test "$myddastoplevel" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_TOP_LEVEL" - fi - -fi - -if test "$yap_cv_cudd" != no; then - oldlibs="$LIBS" - if test "$yap_cv_cudd" != "NONE" -a "$yap_cv_cudd" != "yes"; then - CUDD_CPPFLAGS="-I $yap_cv_cudd/include" - cudd_dir="$yap_cv_cudd" - elif test "$prefix" != "NONE"; then - CUDD_CPPFLAGS="-I $prefix/include" - cudd_dir="$prefix" - else - CUDD_CPPFLAGS="-I /usr/local/include" - cudd_dir=/usr/local - fi - OLD_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $CUDD_CPPFLAGS" - AC_CHECK_HEADERS(util.h cudd/util.h cudd.h cudd/cudd.h) - AC_CHECK_HEADERS(cuddInt.h cudd/cuddInt.h) - dnl cudd can be most everywhere - if test -d "$cudd_dir/lib64/cudd" -a "$YAP_TARGET" = amd64; then - LIBS="$LIBS -L $cudd_dir/lib64/cudd" - elif test -d "$cudd_dir/lib64" -a "$YAP_TARGET" = amd64; then - LIBS="$LIBS -L $cudd_dir/lib64 -L $cudd_dir/lib" - elif test -d "$cudd_dir/lib/cudd"; then - LIBS="$LIBS -L $cudd_dir/lib/cudd" - elif test -d "$cudd_dir/lib"; then - LIBS="$LIBS -L $cudd_dir/lib" - fi - if test -d "$cudd_dir/util"; then - LIBS="$LIBS -L $cudd_dir/util" - fi - AC_SEARCH_LIBS(util_print_cpu_stats, [cuddutil util]) - if test -d "$cudd_dir/st"; then - LIBS="$LIBS -L $cudd_dir/st" - fi - AC_SEARCH_LIBS(st_insert, [cuddst st]) - if test -d "$cudd_dir/epd"; then - LIBS="$LIBS -L $cudd_dir/epd" - fi - AC_SEARCH_LIBS(EpdAdd, [epd]) - if test -d "$cudd_dir/mtr"; then - LIBS="$LIBS -L $cudd_dir/mtr" - fi - AC_SEARCH_LIBS(Mtr_InitTree, [mtr]) - if test -d "$cudd_dir/cudd"; then - LIBS="$LIBS -L $cudd_dir/cudd" - fi - AC_SEARCH_LIBS(Cudd_Init, [cudd], [cudd_installed="yes"], [cudd_installed="no"]) - CPPFLAGS="$OLD_CPPFLAGS" - if test "$cudd_installed" = yes; then - CUDD_LDFLAGS="$LIBS" - else - cat << EOF -################################################################## -# ERROR: Could not find cudd library. Either I don't have the -# correct path, or CUDD is installed in some strange way -################################################################## -EOF - fi - LIBS="$oldlibs" -fi - if test "$threads" = yes then AC_CHECK_LIB(pthread,pthread_create) @@ -1037,13 +680,6 @@ fi CMFLAGS=-fpic CIFLAGS=-I. -if test "$use_gecode" = no; then - ENABLE_GECODE="@# " -else - ENABLE_GECODE="" -fi -AC_SUBST(ENABLE_GECODE) - if test "$use_prism" = no; then ENABLE_PRISM="@# " else @@ -1133,149 +769,6 @@ else ENABLE_ZLIB="@# " fi -dnl -dnl java is hard -dnl -if test "$yap_cv_java" = no; then - ENABLE_JPL="@#" -elif test -e "$srcdir"/packages/jpl/Makefile.in; then - ENABLE_JPL="" - if test "$yap_cv_java" != "yes"; then - JAVA_HOME=$yap_cv_java - JAVAPREFIX="$JAVA_HOME"/bin - elif test -n "$JAVA_HOME"; then - JAVAPREFIX="$JAVA_HOME"/bin - fi - - -AC_SUBST(JAVA_HOME) -AC_SUBST(JAVACFLAGS) -AC_SUBST(JAVALIBS) -AC_SUBST(JUNIT) -AC_SUBST(JPLCFLAGS) -AC_SUBST(JPLLDFLAGS) -AC_SUBST(LIBJPL) -AC_SUBST(JAVA_PRELOAD) -AC_SUBST(CMDEXT) - -CMDEXT=sh - -if test "x$JAVALIBS" = "x"; then - case "$target_os" in - *darwin*) - JAVALIBS="-Wl,-framework,JavaVM" - ;; - *powerpc-linux*) - JAVALIBS="-ljava -ljvm" - ;; - *win32*|*win64*) - JAVALIBS="-ljvm" - CMDEXT=bat - ;; - *) - JAVALIBS="-ljava -lverify -ljvm" - ;; - esac -fi - -case "$target_os" in - *win32*) - JPLLDFLAGS="$JPLLDFLAGS -Wl,--kill-at" - LIBJPL=jpl - ;; - *win64*) - LIBJPL=jpl - ;; - *) - LIBJPL=libjpl - ;; -esac - -dnl ================================================================ -dnl Java stuff -dnl ================================================================ - - -if test "x$JAVACFLAGS" = x; then - JAVACFLAGS="-source 1.4 -target 1.4" -fi - -m4_include([packages/jpl/ac/ac_prog_java.m4]) -m4_include([packages/jpl/ac/ac_prog_java_works.m4]) -m4_include([packages/jpl/ac/ac_prog_javac.m4]) -m4_include([packages/jpl/ac/ac_prog_javac_works.m4]) -m4_include([packages/jpl/ac/ac_prog_javadoc.m4]) -m4_include([packages/jpl/ac/ac_jni_include_dirs.m4]) -m4_include([packages/jpl/ac/ac_prog_jar.m4]) - -java_abs_paths=no -AC_CHECKING(Java configuration) -if test -r /etc/java/java2.conf; then - AC_MSG_RESULT(Using /etc/java/java2.conf) - eval `grep '\(JAVA\|JRE\|JDK\|SDK\).*=' /etc/java/java2.conf | sed 's/ *= */=/'` - if test ! -z "$JAVA_BINDIR"; then - PATH="$PATH:$JAVA_BINDIR" - java_abs_paths=yes - fi -fi - -AC_PROG_JAVAC(javac) -AC_PROG_JAVA(java) -AC_PROG_JAR(jar) -AC_PROG_JAVADOC(javadoc) - -escape_space() -{ sed -e "s/Program Files/Program-SPACE-Files/g" -e "s/ (x86)/SPACEX86/g" -} - -unescape_space() -{ sed -e "s/-SPACE-/ /g" -e "s/SPACEX86/ (x86)/g" -} - -AC_JNI_INCLUDE_DIR -for d in $(echo $JNI_INCLUDE_DIRS | escape_space); do - JPLCFLAGS="$JPLCFLAGS -I'$d'" -done -JPLCFLAGS="$(echo $JPLCFLAGS | unescape_space)" - -for d in $(echo $JNI_CLIENT_DIRS | escape_space); do - JPLLDFLAGS="$JPLLDFLAGS -L'$d'" -done -JPLLDFLAGS="$(echo $JPLLDFLAGS | unescape_space)" - -for d in $(echo $JNI_CLIENT_DIRS | escape_space); do - if test -f "$d/libjsig.$SO"; then - JAVALIBS="-ljsig $JAVALIBS" - JAVA_PRELOAD=$d/libjsig.$SO - break - fi -done -JAVA_PRELOAD="$(echo $JAVA_PRELOAD | unescape_space)" - -if test "$java_abs_paths" = yes; then - JAVA_CC="$JAVA_BINDIR/$JAVA_CC" -fi - -AC_ARG_WITH(junit, [ --with-junit=PATH Specify location of the junit JAR file], - [case "$withval" in - yes) JUNIT=/usr/share/java/junit.jar - ;; - no) JUNIT="" - ;; - *) JUNIT="$withval" - ;; - esac - ], - [ if test "x$JUNIT" = "x" -a -r /usr/share/java/junit.jar; then - JUNIT=/usr/share/java/junit.jar - fi - ] - ) - -JAVA_HOME=$_JTOPDIR - -fi - if test "$cross_compiling" = "yes" then YAP_EXTRAS= @@ -1806,10 +1299,7 @@ fi if test "$yap_cv_judy" != "no"; then AC_CHECK_HEADERS(Judy.h) fi -if test "$yap_cv_myddas" != "no" -then - AC_CHECK_HEADERS(mysql/mysql.h) -fi + if test "$yap_cv_readline" != "no" then AC_CHECK_HEADERS( readline/readline.h) @@ -1922,11 +1412,6 @@ AC_SUBST(INSTALL_INFO) dnl let YAP_EXTRAS fall through configure, from the env into Makefile AC_SUBST(YAP_EXTRAS) AC_SUBST(NO_BUILTIN_REGEXP) -AC_SUBST(ENABLE_CUDA) -AC_SUBST(NVCC) -AC_SUBST(CUDA_SHLIB_LD) -AC_SUBST(CUDA_CPPFLAGS) -AC_SUBST(CUDA_LDFLAGS) AC_SUBST(ENABLE_CHR) AC_SUBST(ENABLE_CLIB) AC_SUBST(ENABLE_CLPQR) @@ -1954,10 +1439,6 @@ AC_SUBST(STATIC_MODE) AC_SUBST(ENABLE_WINCONSOLE) AC_SUBST(EXTRA_INCLUDES_FOR_WIN32) -AC_SUBST(ENABLE_CUDD) -AC_SUBST(ENABLE_BDDLIB) -AC_SUBST(CUDD_LDFLAGS) -AC_SUBST(CUDD_CPPFLAGS) AC_SUBST(ENABLE_MINISAT) AC_SUBST(ENABLE_REAL) AC_SUBST(REAL_TARGET) @@ -1966,10 +1447,6 @@ AC_SUBST(REAL_LIBS) AC_SUBST(INSTALL_MATLAB) AC_SUBST(MATLAB_INCLUDE) AC_SUBST(INSTALL_PRISM) -AC_SUBST(PYTHON_TARGET) -AC_SUBST(ENABLE_PYTHON) -AC_SUBST(PYTHON_INCLUDES) -AC_SUBST(PYTHON_LIBS) dnl check for threaded code AC_MSG_CHECKING(for gcc threaded code) @@ -2292,51 +1769,11 @@ AC_SUBST(TARGETS) AC_SUBST(PLTARGETS) AC_SUBST(CHR_TARGETS) -dnl clib -if test "$ENABLE_CLIB" = ""; then -CLIB_TARGETS="socket.$SO cgi.$SO memfile.$SO files.$SO mime.$SO $CRYPT_TARGETS" -CLIB_PLTARGETS="socket.pl cgi.pl memfile.pl filesex.pl mime.pl $CRYPT_TARGETS" - -if test "$ac_cv_func_setitimer" = "yes"; then - CLIB_TARGETS="$CLIB_TARGETS time.$SO" - CLIB_PLTARGETS="$CLIB_PLTARGETS time.pl" -else - echo "WARNING: no setitimer(); dropping time.pl from targets" -fi - -if test "$IN_UNIX" = ""; then -CLIB_TARGETS="uid.$SO unix.$SO $CLIB_TARGETS" -CLIB_PLTARGETS="uid.pl unix.pl $CLIB_PLTARGETS" -CLIB_NETLIBS= -else -AC_CHECK_FUNC(socket, [], [ - AC_CHECK_LIB(socket, socket, - [CLIB_NETLIBS="$CLIB_NETLIBS -lsocket"] - AC_DEFINE(HAVE_LIBSOCKET, 1, - "Define if you have the socket library (-lsocket)."))]) -AC_CHECK_FUNC(gethostent, [], [ - AC_CHECK_LIB(nsl, gethostent, - [CLIB_NETLIBS="$CLIB_NETLIBS -lnsl"] - AC_DEFINE(HAVE_LIBNSL, 1, - "Define if you have the nsl library (-lnsl)."))]) -fi AC_CHECK_LIB(pthread, pthread_create, [CLIB_PTHREADS="-lpthread"],[CLIB_PTHREADS=""]) - -oldlibs="$LIBS" -AC_CHECK_LIB(crypt, crypt, CRYPT_TARGET=crypt.\$SO, CRYPT_TARGET="") -CLIB_CRYPTLIBS="$LIBS" -AC_CHECK_FUNCS(crypt) -LIBS="$oldlibs" - AC_SUBST(CLIB_PTHREADS) -AC_SUBST(CLIB_TARGETS) -AC_SUBST(CLIB_PLTARGETS) -AC_SUBST(CLIB_NETLIBS) -AC_SUBST(CLIB_CRYPTLIBS) -fi AC_CHECK_TYPES(socklen_t, [], [], [ @@ -2398,29 +1835,6 @@ AC_TRY_COMPILE( AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) -if test "$with_time" = yes; then - if test "$ac_cv_func_setitimer" = "yes"; then - TARGETS="$TARGETS time.$SO" - else - echo "WARNING: no setitimer(); dropping time.pl from targets" - fi -fi - -if test "$ac_cv_func_getrlimit" = "yes"; then - TARGETS="$TARGETS rlimit.$SO" -else - echo "WARNING: no getrlimit(); dropping rlimit.pl from targets" -fi - -AC_ARG_ENABLE(mimecharset, - [ --enable-mimecharset=charset Default MIME charset to set on new messages], - RFC2045CHARSET="$enableval", RFC2045CHARSET="us-ascii") - -AC_SUBST(RFC2045CHARSET) - -MAILDROP_CFLAGS="$SHLIB_CFLAGS -I. -I\$(srcdir) -I\$(srcdir)/.. -I../../../.." -AC_SUBST(MAILDROP_CFLAGS) - if test "$yap_cv_minisat" = no then ENABLE_MINISAT="@# " @@ -2431,127 +1845,102 @@ else ENABLE_MINISAT="" fi -dnl zlib -if test "$ENABLE_ZLIB" = "" +if test "x$PLARCH" = "x"; then + case "$host" in + *linux*) + PLARCH=`echo $host | sed 's/-.*/-linux/'` + ;; + i?86-*mingw32*) + # Make PLARCH match the definition in src/config/win32.h + PLARCH=i386-win32 + ;; + x86_64-*mingw32*) + # Make PLARCH match the definition in src/config/win64.h + PLARCH=x64-win64 + ;; + *-gnu) + PLARCH=`echo $host | sed 's/\([^-]*\)-[^-]*-\([^-]*\)-gnu/\1-\2/'` + ;; + *) + PLARCH=`echo $host | sed 's/\([^-]*\)-[^-]*-\([^-]*\)/\1-\2/'` + ;; + esac +fi + + + +m4_include([library/MYDDAS/configure.in]) + +if test "$yap_cv_R" != "no" -a -e "$srcdir"/packages/real/Makefile.in; then + ENABLE_REAL="" + + m4_include([packages/real/configure.in]) +else + REAL_TARGET="dummy" + ENABLE_REAL="@# " +fi + +dnl +dnl java is hard +dnl +if test "$yap_cv_java" = no; then + ENABLE_JPL="@#" +elif test -e "$srcdir"/packages/jpl/Makefile.in; then + ENABLE_JPL="" + if test "$yap_cv_java" != "yes"; then + JAVA_HOME=$yap_cv_java + JAVAPREFIX="$JAVA_HOME"/bin + elif test -n "$JAVA_HOME"; then + JAVAPREFIX="$JAVA_HOME"/bin + fi + + m4_include([packages/jpl/configure.in]) + +fi + +if test "$ENABLE_CLIB" = "" then -AC_CHECK_LIB(z, zlibVersion, - ZLIBS="-lz" - ZLIB=yes, - ZLIB=no) +m4_include([packages/clib/configure.in]) -if test "$ZLIB" = yes; then - ZLIB_TARGETS="zlib4pl.$SO" - ZLIB_PLTARGETS='zlib.pl' - ZLIB_INSTALL=install -else - ZLIB_TARGETS=nolib - ZLIB_INSTALL=nolib - cat << EOF -################################################################## -# ERROR: Could not find library zlib (-lz). Dropped library(zlib) -# Library zlib is available from http://www.zlib.net/ -# Most Unix/Linux distributions are shipped with binaries. Make -# sure to have the development library installed. -################################################################## -EOF fi +if test "$ENABLE_LIBARCHIVE" = "" +then + +m4_include([packages/archive/configure.in]) -AC_SUBST(ZLIBS) -AC_SUBST(ZLIB_TARGETS) -AC_SUBST(ZLIB_PLTARGETS) -AC_SUBST(ZLIB_INSTALL) fi -dnl archive +if test "$ENABLE_ODBC" = ""; then + +m4_include([packages/odbc/configure.in]) -if test "$yap_cv_odbc" = yes; then - ODBC_TARGETS="odbc4pl.$SO" - ODBC_PLTARGETS=odbc.pl - AC_CHECK_HEADERS(sql.h) - AC_CHECK_FUNCS(localtime mktime gmtime timegm) - AC_CHECK_TYPES([SQLLEN, SQLULEN],,, - [#include - ]) else ODBC_TARGETS=nolib ODBC_PLTARGETS=odbc.pl fi -if test "$ENABLE_LIBARCHIVE" = "" +m4_include([packages/bdd/configure.in]) + +dnl zlib +if test "$ENABLE_ZLIB" = "" then -OLD_LIBS=$LIBS -AC_CHECK_HEADER(archive.h, - [ AC_DEFINE([HAVE_ARCHIVE_H], 1, - [Define to 1 if you have .]) - ARCHIVEH=yes - ], - ARCHIVEH=no) - -if test "$ARCHIVEH" = yes; then - AC_CHECK_LIB(archive, archive_read_new, - ARCHIVE_LIBS="-larchive" - ARCHIVELIB=yes, - ARCHIVELIB=no) -fi - -LIBS="$LIBS -larchive" -AC_CHECK_FUNCS(archive_read_support_compression_bzip2 \ - archive_read_support_compression_compress \ - archive_read_support_compression_gzip \ - archive_read_support_compression_lzma \ - archive_read_support_compression_none \ - archive_read_support_compression_xz) - -AC_CHECK_FUNCS(archive_read_support_format_ar \ - archive_read_support_format_cpio \ - archive_read_support_format_empty \ - archive_read_support_format_iso9660 \ - archive_read_support_format_mtree \ - archive_read_support_format_raw \ - archive_read_support_format_tar \ - archive_read_support_format_zip) - -if test "$ARCHIVELIB" = yes; then - ARCHIVE_TARGETS="archive4pl.$SO" - ARCHIVE_PLTARGETS=archive.pl -else - ARCHIVE_TARGETS=nolib - cat << EOF -################################################################## -# ERROR: Could not find library archive (-larchive). Dropped -# library(archive). Library archive is available from -# http://code.google.com/p/libarchive/ -# -# Most Unix/Linux distributions are shipped with binaries. Make -# sure to have the development library installed. E.g. -# -# Debian/Ubuntu/Mint: aptitude install libarchive-dev -# Fedora/... yum install libarchive-devel -# MacOS (Macports): port install libarchive -################################################################## -EOF +m4_include([packages/zlib/configure.in]) fi -AC_SUBST(ARCHIVE_LIBS) -AC_SUBST(ARCHIVE_TARGETS) -AC_SUBST(ARCHIVE_PLTARGETS) +m4_include([packages/gecode/configure.in]) + +m4_include([packages/python/configure.in]) + +m4_include([packages/cuda/configure.in]) -LIBS="$OLD_LIBS" -fi AC_SUBST(ENABLE_LIBARCHIVE) -AC_SUBST(ODBC_CFLAGS) -AC_SUBST(ODBC_LDFLAGS) -AC_SUBST(ODBC_LIBS) -AC_SUBST(ODBC_TARGETS) -AC_SUBST(ODBC_PLTARGETS) - AC_SUBST(ENABLE_ODBC) mkdir -p library/lammpi @@ -2649,9 +2038,6 @@ fi if test "$ENABLE_CLIB" = ""; then AC_CONFIG_FILES([packages/clib/Makefile]) -AC_CONFIG_FILES([packages/clib/maildrop/rfc822/Makefile]) -AC_CONFIG_FILES([packages/clib/maildrop/rfc2045/Makefile]) -AC_CONFIG_FILES([packages/clib/maildrop/rfc2045/rfc2045charset.h]) fi if test "$ENABLE_CLPQR" = ""; then @@ -2666,10 +2052,6 @@ if test "$ENABLE_JPL" = ""; then AC_CONFIG_FILES([packages/jpl/Makefile packages/jpl/jpl_paths.yap packages/jpl/src/java/Makefile ]) fi -if test "$ENABLE_PYTHON" = ""; then -AC_CONFIG_FILES([ packages/python/Makefile ]) -fi - if test "$ENABLE_PLDOC" = ""; then AC_CONFIG_FILES([packages/pldoc/Makefile]) AC_CONFIG_FILES([packages/pldoc/server/man_server.pl]) @@ -2728,7 +2110,7 @@ AC_CONFIG_FILES([packages/CLPBN/horus/Makefile]) fi if test "$ENABLE_GECODE" = ""; then -AC_CONFIG_FILES([library/gecode/Makefile]) +AC_CONFIG_FILES([packages/gecode/Makefile]) fi if test "$ENABLE_PRISM" = ""; then @@ -2738,7 +2120,5 @@ fi AC_CONFIG_FILES([packages/yap-lbfgs/Makefile]) -AC_CONFIG_FILES([packages/cuda/Makefile]) - AC_OUTPUT() diff --git a/library/MYDDAS/configure.in b/library/MYDDAS/configure.in new file mode 100644 index 000000000..f08c8e821 --- /dev/null +++ b/library/MYDDAS/configure.in @@ -0,0 +1,81 @@ +AC_ARG_ENABLE(myddas, + [ --enable-myddas[[=DIR]] enable the MYDDAS library], + if test "$enableval" = yes; then + yap_cv_myddas=/usr + elif test "$enableval" = no; then + yap_cv_myddas=no + else + yap_cv_myddas=$enable_myddas + LDFLAGS="$LDFLAGS -L${yap_cv_myddas}/lib " + CPPFLAGS="$CPPFLAGS -I${yap_cv_myddas}/include " + ODBC_LDFLAGS="-L${yap_cv_myddas}/lib " + ODBC_CFLAGS="-I${yap_cv_myddas}/include " + fi, + [yap_cv_myddas=/usr]) + +AC_ARG_ENABLE(myddas-stats, + [ --enable-myddas-stats enable the MYDDAS library statistics support], + if test "$yap_cv_myddas" = no; then + myddasstats=no + else + myddasstats="$enableval" + fi, myddasstats=no) + +AC_ARG_ENABLE(myddas-top-level, + [ --enable-myddas-top-level enable the MYDDAS top-level support to MySQL], + if test "$yap_cv_myddas" = no; then + myddastoplevel=no + else + myddastoplevel="$enableval" + fi, myddastoplevel=no) + +if test "$yap_cv_myddas" != "no" +then + dnl check for mysql + AC_SEARCH_LIBS(mysql_init, [mysqlclient], [yap_cv_mysql="yes"], [yap_cv_mysql="no"]) + if test "$yap_cv_mysql" = yes + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_MYSQL" + fi + + dnl check for odbc + case "$target_os" in + *darwin*) + LIBS="$LIBS -framework CoreFoundation" + ;; + **) + ;; + esac + AC_SEARCH_LIBS(SQLAllocHandle, [odbc], [yap_cv_odbc="yes"], [yap_cv_odbc="no"]) + if test "$yap_cv_odbc" = yes + then + ODBC_LIBS="$ODBC_LIBS -lodbc" + else + AC_SEARCH_LIBS(SQLAllocHandle, [iodbc], [yap_cv_odbc="yes"], [yap_cv_odbc="no"]) + if test "$yap_cv_odbc" = yes + then + ODBC_LIBS="$ODBC_LIBS -liodbc" + fi + fi + if test "$yap_cv_odbc" = yes + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_ODBC" + fi + + if test "$myddasstats" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_STATS" + fi + + if test "$myddastoplevel" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_TOP_LEVEL" + fi + +fi + +if test "$yap_cv_myddas" != "no" +then + AC_CHECK_HEADERS(mysql/mysql.h) +fi + diff --git a/library/tries/Makefile.in b/library/tries/Makefile.in index aff464d86..c376f346c 100644 --- a/library/tries/Makefile.in +++ b/library/tries/Makefile.in @@ -37,7 +37,7 @@ SO=@SO@ CWD=$(PWD) # -OBJS=core_tries.o base_tries.o tries.o base_itries.o itries.o +OBJS=core_tries.o base_tries.o base_dbtries.o tries.o base_itries.o itries.o SOBJS=tries.@SO@ itries.@SO@ #in some systems we just create a single object, in others we need to diff --git a/library/tries/base_dbtries.c b/library/tries/base_dbtries.c index 999744667..917505523 100644 --- a/library/tries/base_dbtries.c +++ b/library/tries/base_dbtries.c @@ -210,10 +210,10 @@ static TrNode depth_reduction(TrEntry trie, TrNode depth_node, YAP_Int opt_level); static TrNode breadth_reduction(TrEntry trie, TrNode breadth_node, YAP_Int opt_level); -inline int compare_label_nodes(TrData data1, TrData data2); -inline void move_after(TrData data_source, TrData data_dest); -inline void move_last_data_after(TrData moveto_data); -inline void set_depth_breadth_reduction_current_data(TrData data); +static inline int compare_label_nodes(TrData data1, TrData data2); +static inline void move_after(TrData data_source, TrData data_dest); +static inline void move_last_data_after(TrData moveto_data); +static inline void set_depth_breadth_reduction_current_data(TrData data); /* -------------------------- */ @@ -227,7 +227,7 @@ static TrData CURRENT_DEPTH_BREADTH_DATA; /* API */ /* -------------------------- */ -inline + YAP_Term trie_depth_breadth(TrEntry trie, TrEntry db_trie, YAP_Int opt_level, YAP_Int start_counter, YAP_Int *end_counter) { TrNode depth_node, breadth_node, nested_trie; core_set_label_counter(start_counter); @@ -257,32 +257,32 @@ YAP_Term trie_depth_breadth(TrEntry trie, TrEntry db_trie, YAP_Int opt_level, YA } -inline + YAP_Int trie_get_db_opt_level_count(YAP_Int opt_level) { return core_db_trie_get_optimization_level_count(opt_level); } -inline + TrData trie_get_depth_breadth_reduction_current_data(void) { return CURRENT_DEPTH_BREADTH_DATA; } -inline + void trie_replace_nested_trie(TrEntry trie, YAP_Int nested_trie_id, YAP_Term new_term) { core_depth_breadth_trie_replace_nested_trie(TrNode_child(TrEntry_trie(trie)), nested_trie_id, new_term); return; } -inline + YAP_Int trie_get_db_opt_min_prefix(void) { return core_get_trie_db_opt_min_prefix(); } -inline + void trie_set_db_opt_min_prefix(YAP_Int min_prefix) { core_set_trie_db_opt_min_prefix(min_prefix); return; @@ -294,7 +294,7 @@ void trie_set_db_opt_min_prefix(YAP_Int min_prefix) { /* -------------------------- */ -inline +static inline void set_depth_breadth_reduction_current_data(TrData data) { CURRENT_DEPTH_BREADTH_DATA = data; return; @@ -359,7 +359,7 @@ TrNode breadth_reduction(TrEntry trie, TrNode breadth_node, YAP_Int opt_level) { } -inline +static inline void move_last_data_after(TrData moveto_data) { TrEntry trie = CURRENT_TRIE; TrData last_data = TrEntry_last_data(trie); @@ -378,7 +378,7 @@ void move_last_data_after(TrData moveto_data) { } -inline +static inline void move_after(TrData data_source, TrData data_dest) { TrEntry trie = CURRENT_TRIE; if (data_source == TrEntry_first_data(trie)) @@ -407,7 +407,6 @@ void move_after(TrData data_source, TrData data_dest) { } -inline void trie_data_order_correction(void) { TrEntry trie = CURRENT_TRIE; TrData inserted_data = TrEntry_last_data(trie); @@ -434,7 +433,7 @@ void trie_data_order_correction(void) { } -inline +static inline int compare_label_nodes(TrData data1, TrData data2) { YAP_Term t1 = TrNode_entry(TrData_leaf(data1)), t2 = TrNode_entry(TrData_leaf(data2)); YAP_Int i1 = atol(YAP_AtomName(YAP_AtomOfTerm(t1)) + 1), i2 = atol(YAP_AtomName(YAP_AtomOfTerm(t2)) + 1); diff --git a/library/tries/base_dbtries.h b/library/tries/base_dbtries.h index efb082470..0e0762e47 100644 --- a/library/tries/base_dbtries.h +++ b/library/tries/base_dbtries.h @@ -207,10 +207,10 @@ /* API */ /* --------------------------- */ -inline YAP_Term trie_depth_breadth(TrEntry trie, TrEntry db_trie, YAP_Int opt_level, YAP_Int start_counter, YAP_Int *end_counter); -inline void trie_data_order_correction(void); -inline TrData trie_get_depth_breadth_reduction_current_data(void); -inline YAP_Int trie_get_db_opt_level_count(YAP_Int opt_level); -inline void trie_replace_nested_trie(TrEntry trie, YAP_Int nested_trie_id, YAP_Term new_term); -inline YAP_Int trie_get_db_opt_min_prefix(void); -inline void trie_set_db_opt_min_prefix(YAP_Int min_prefix); +YAP_Term trie_depth_breadth(TrEntry trie, TrEntry db_trie, YAP_Int opt_level, YAP_Int start_counter, YAP_Int *end_counter); +void trie_data_order_correction(void); +TrData trie_get_depth_breadth_reduction_current_data(void); +YAP_Int trie_get_db_opt_level_count(YAP_Int opt_level); +void trie_replace_nested_trie(TrEntry trie, YAP_Int nested_trie_id, YAP_Term new_term); +YAP_Int trie_get_db_opt_min_prefix(void); +void trie_set_db_opt_min_prefix(YAP_Int min_prefix); diff --git a/library/tries/base_itries.c b/library/tries/base_itries.c index b337c253c..7b7554c64 100644 --- a/library/tries/base_itries.c +++ b/library/tries/base_itries.c @@ -32,7 +32,7 @@ static TrEntry FIRST_ITRIE, CURRENT_ITRIE; /* API */ /* -------------------------- */ -inline + void itrie_init_module(void) { ITRIE_ENGINE = core_trie_init_module(); FIRST_ITRIE = NULL; @@ -40,7 +40,7 @@ void itrie_init_module(void) { } -inline + void itrie_data_save(TrNode node, FILE *file) { TrData data; @@ -50,7 +50,7 @@ void itrie_data_save(TrNode node, FILE *file) { } -inline + void itrie_data_load(TrNode node, YAP_Int depth, FILE *file) { TrData data; YAP_Int pos, neg, timestamp; @@ -62,7 +62,7 @@ void itrie_data_load(TrNode node, YAP_Int depth, FILE *file) { } -inline + void itrie_data_print(TrNode node) { TrData data; @@ -72,7 +72,7 @@ void itrie_data_print(TrNode node) { } -inline + void itrie_data_copy(TrNode node_dest, TrNode node_source) { TrData data_dest, data_source; @@ -83,7 +83,7 @@ void itrie_data_copy(TrNode node_dest, TrNode node_source) { } -inline + void itrie_data_destruct(TrNode node) { TrEntry itrie; TrData data; @@ -102,7 +102,7 @@ void itrie_data_destruct(TrNode node) { } -inline + void itrie_data_add(TrNode node_dest, TrNode node_source) { TrData data_dest, data_source; @@ -116,7 +116,7 @@ void itrie_data_add(TrNode node_dest, TrNode node_source) { } -inline + void itrie_data_subtract(TrNode node_dest, TrNode node_source) { TrData data_dest, data_source; @@ -130,7 +130,7 @@ void itrie_data_subtract(TrNode node_dest, TrNode node_source) { } -inline + TrEntry itrie_open(void) { TrEntry itrie; TrNode node; @@ -144,7 +144,7 @@ TrEntry itrie_open(void) { } -inline + void itrie_close(TrEntry itrie) { core_trie_close(ITRIE_ENGINE, TrEntry_trie(itrie), &itrie_data_destruct); if (TrEntry_next(itrie)) { @@ -157,7 +157,7 @@ void itrie_close(TrEntry itrie) { } -inline + void itrie_close_all(void) { TrEntry itrie; @@ -171,33 +171,33 @@ void itrie_close_all(void) { } -inline + void itrie_set_mode(TrEntry itrie, YAP_Int mode) { TrEntry_mode(itrie) = mode; return; } -inline + YAP_Int itrie_get_mode(TrEntry itrie) { return TrEntry_mode(itrie); } -inline + void itrie_set_timestamp(TrEntry itrie, YAP_Int timestamp) { TrEntry_timestamp(itrie) = timestamp; return; } -inline + YAP_Int itrie_get_timestamp(TrEntry itrie) { return TrEntry_timestamp(itrie); } -inline + void itrie_put_entry(TrEntry itrie, YAP_Term entry) { TrData data; TrNode node; @@ -213,7 +213,7 @@ void itrie_put_entry(TrEntry itrie, YAP_Term entry) { } -inline + void itrie_update_entry(TrEntry itrie, YAP_Term entry) { TrData data; TrNode node; @@ -226,7 +226,7 @@ void itrie_update_entry(TrEntry itrie, YAP_Term entry) { } -inline + TrData itrie_check_entry(TrEntry itrie, YAP_Term entry) { TrNode node; @@ -236,13 +236,13 @@ TrData itrie_check_entry(TrEntry itrie, YAP_Term entry) { } -inline + YAP_Term itrie_get_entry(TrData data) { return core_trie_get_entry(TrData_leaf(data)); } -inline + void itrie_get_data(TrData data, YAP_Int *pos, YAP_Int *neg, YAP_Int *timestamp) { *pos = TrData_pos(data); *neg = TrData_neg(data); @@ -251,7 +251,7 @@ void itrie_get_data(TrData data, YAP_Int *pos, YAP_Int *neg, YAP_Int *timestamp) } -inline + TrData itrie_traverse_init(TrEntry itrie) { TrData data, *bucket; YAP_Int traverse_bucket = 0; @@ -269,7 +269,7 @@ TrData itrie_traverse_init(TrEntry itrie) { } -inline + TrData itrie_traverse_cont(TrEntry itrie) { TrData data, *bucket; YAP_Int traverse_bucket; @@ -294,35 +294,35 @@ TrData itrie_traverse_cont(TrEntry itrie) { } -inline + void itrie_remove_entry(TrData data) { core_trie_remove_entry(ITRIE_ENGINE, TrData_leaf(data), &itrie_data_destruct); return; } -inline + void itrie_remove_subtree(TrData data) { core_trie_remove_subtree(ITRIE_ENGINE, TrData_leaf(data), &itrie_data_destruct); return; } -inline + void itrie_add(TrEntry itrie_dest, TrEntry itrie_source) { core_trie_add(TrEntry_trie(itrie_dest), TrEntry_trie(itrie_source), &itrie_data_add); return; } -inline + void itrie_subtract(TrEntry itrie_dest, TrEntry itrie_source) { core_trie_add(TrEntry_trie(itrie_dest), TrEntry_trie(itrie_source), &itrie_data_subtract); return; } -inline + void itrie_join(TrEntry itrie_dest, TrEntry itrie_source) { CURRENT_ITRIE = itrie_dest; core_trie_join(ITRIE_ENGINE, TrEntry_trie(itrie_dest), TrEntry_trie(itrie_source), &itrie_data_add, &itrie_data_copy); @@ -330,40 +330,40 @@ void itrie_join(TrEntry itrie_dest, TrEntry itrie_source) { } -inline + void itrie_intersect(TrEntry itrie_dest, TrEntry itrie_source) { core_trie_intersect(ITRIE_ENGINE, TrEntry_trie(itrie_dest), TrEntry_trie(itrie_source), &itrie_data_add, &itrie_data_destruct); return; } -inline + YAP_Int itrie_count_join(TrEntry itrie1, TrEntry itrie2) { return core_trie_count_join(TrEntry_trie(itrie1), TrEntry_trie(itrie2)); } -inline + YAP_Int itrie_count_intersect(TrEntry itrie1, TrEntry itrie2) { return core_trie_count_intersect(TrEntry_trie(itrie1), TrEntry_trie(itrie2)); } -inline + void itrie_save(TrEntry itrie, FILE *file) { core_trie_save(TrEntry_trie(itrie), file, &itrie_data_save); return; } -inline + void itrie_save_as_trie(TrEntry itrie, FILE *file) { core_trie_save(TrEntry_trie(itrie), file, NULL); return; } -inline + TrEntry itrie_load(FILE *file) { TrEntry itrie; TrNode node; @@ -382,28 +382,28 @@ TrEntry itrie_load(FILE *file) { } -inline + void itrie_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes) { core_trie_stats(ITRIE_ENGINE, memory, tries, entries, nodes); return; } -inline + void itrie_max_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes) { core_trie_max_stats(ITRIE_ENGINE, memory, tries, entries, nodes); return; } -inline + void itrie_usage(TrEntry itrie, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes) { core_trie_usage(TrEntry_trie(itrie), entries, nodes, virtual_nodes); return; } -inline + void itrie_print(TrEntry itrie) { core_trie_print(TrEntry_trie(itrie), &itrie_data_print); return; diff --git a/library/tries/base_itries.h b/library/tries/base_itries.h index 178ba3486..f8bab1723 100644 --- a/library/tries/base_itries.h +++ b/library/tries/base_itries.h @@ -168,40 +168,40 @@ typedef struct itrie_data { /* API */ /* --------------------------- */ -inline void itrie_init_module(void); -inline void itrie_data_save(TrNode node, FILE *file); -inline void itrie_data_load(TrNode node, YAP_Int depth, FILE *file); -inline void itrie_data_print(TrNode node); -inline void itrie_data_copy(TrNode node_dest, TrNode node_source); -inline void itrie_data_destruct(TrNode node); -inline void itrie_data_add(TrNode node_dest, TrNode node_source); -inline void itrie_data_subtract(TrNode node_dest, TrNode node_source); -inline TrEntry itrie_open(void); -inline void itrie_close(TrEntry itrie); -inline void itrie_close_all(void); -inline void itrie_set_mode(TrEntry itrie, YAP_Int mode); -inline YAP_Int itrie_get_mode(TrEntry itrie); -inline void itrie_set_timestamp(TrEntry itrie, YAP_Int timestamp); -inline YAP_Int itrie_get_timestamp(TrEntry itrie); -inline void itrie_put_entry(TrEntry itrie, YAP_Term entry); -inline void itrie_update_entry(TrEntry itrie, YAP_Term entry); -inline TrData itrie_check_entry(TrEntry itrie, YAP_Term entry); -inline YAP_Term itrie_get_entry(TrData data); -inline void itrie_get_data(TrData data, YAP_Int *pos, YAP_Int *neg, YAP_Int *timestamp); -inline TrData itrie_traverse_init(TrEntry itrie); -inline TrData itrie_traverse_cont(TrEntry itrie); -inline void itrie_remove_entry(TrData data); -inline void itrie_remove_subtree(TrData data); -inline void itrie_add(TrEntry itrie_dest, TrEntry itrie_source); -inline void itrie_subtract(TrEntry itrie_dest, TrEntry itrie_source); -inline void itrie_join(TrEntry itrie_dest, TrEntry itrie_source); -inline void itrie_intersect(TrEntry itrie_dest, TrEntry itrie_source); -inline YAP_Int itrie_count_join(TrEntry itrie1, TrEntry itrie2); -inline YAP_Int itrie_count_intersect(TrEntry itrie1, TrEntry itrie2); -inline void itrie_save(TrEntry itrie, FILE *file); -inline void itrie_save_as_trie(TrEntry itrie, FILE *file); -inline TrEntry itrie_load(FILE *file); -inline void itrie_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -inline void itrie_max_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -inline void itrie_usage(TrEntry itrie, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); -inline void itrie_print(TrEntry itrie); +void itrie_init_module(void); +void itrie_data_save(TrNode node, FILE *file); +void itrie_data_load(TrNode node, YAP_Int depth, FILE *file); +void itrie_data_print(TrNode node); +void itrie_data_copy(TrNode node_dest, TrNode node_source); +void itrie_data_destruct(TrNode node); +void itrie_data_add(TrNode node_dest, TrNode node_source); +void itrie_data_subtract(TrNode node_dest, TrNode node_source); +TrEntry itrie_open(void); +void itrie_close(TrEntry itrie); +void itrie_close_all(void); +void itrie_set_mode(TrEntry itrie, YAP_Int mode); +YAP_Int itrie_get_mode(TrEntry itrie); +void itrie_set_timestamp(TrEntry itrie, YAP_Int timestamp); +YAP_Int itrie_get_timestamp(TrEntry itrie); +void itrie_put_entry(TrEntry itrie, YAP_Term entry); +void itrie_update_entry(TrEntry itrie, YAP_Term entry); +TrData itrie_check_entry(TrEntry itrie, YAP_Term entry); +YAP_Term itrie_get_entry(TrData data); +void itrie_get_data(TrData data, YAP_Int *pos, YAP_Int *neg, YAP_Int *timestamp); +TrData itrie_traverse_init(TrEntry itrie); +TrData itrie_traverse_cont(TrEntry itrie); +void itrie_remove_entry(TrData data); +void itrie_remove_subtree(TrData data); +void itrie_add(TrEntry itrie_dest, TrEntry itrie_source); +void itrie_subtract(TrEntry itrie_dest, TrEntry itrie_source); +void itrie_join(TrEntry itrie_dest, TrEntry itrie_source); +void itrie_intersect(TrEntry itrie_dest, TrEntry itrie_source); +YAP_Int itrie_count_join(TrEntry itrie1, TrEntry itrie2); +YAP_Int itrie_count_intersect(TrEntry itrie1, TrEntry itrie2); +void itrie_save(TrEntry itrie, FILE *file); +void itrie_save_as_trie(TrEntry itrie, FILE *file); +TrEntry itrie_load(FILE *file); +void itrie_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +void itrie_max_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +void itrie_usage(TrEntry itrie, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); +void itrie_print(TrEntry itrie); diff --git a/library/tries/base_tries.c b/library/tries/base_tries.c index 1f7831061..907334c7f 100644 --- a/library/tries/base_tries.c +++ b/library/tries/base_tries.c @@ -39,7 +39,6 @@ static YAP_Int CURRENT_TRAVERSE_MODE; /* API */ /* -------------------------- */ -inline void trie_init_module(void) { TRIE_ENGINE = core_trie_init_module(); FIRST_TRIE = NULL; @@ -48,7 +47,7 @@ void trie_init_module(void) { } -inline + void trie_data_load(TrNode node, YAP_Int depth, FILE *file) { TrData data; @@ -58,7 +57,7 @@ void trie_data_load(TrNode node, YAP_Int depth, FILE *file) { } -inline + void trie_data_copy(TrNode node_dest, TrNode node_source) { TrData data_dest; @@ -68,7 +67,7 @@ void trie_data_copy(TrNode node_dest, TrNode node_source) { } -inline + void trie_data_destruct(TrNode node) { TrEntry trie; TrData data; @@ -89,7 +88,7 @@ void trie_data_destruct(TrNode node) { } -inline + TrEntry trie_open(void) { TrEntry trie; TrNode node; @@ -103,7 +102,7 @@ TrEntry trie_open(void) { } -inline + void trie_close(TrEntry trie) { core_trie_close(TRIE_ENGINE, TrEntry_trie(trie), &trie_data_destruct); if (TrEntry_next(trie)) { @@ -116,7 +115,7 @@ void trie_close(TrEntry trie) { } -inline + void trie_close_all(void) { TrEntry trie; @@ -130,20 +129,20 @@ void trie_close_all(void) { } -inline + void trie_set_mode(YAP_Int mode) { core_trie_set_mode(mode); return; } -inline + YAP_Int trie_get_mode(void) { return core_trie_get_mode(); } -inline + TrData trie_put_entry(TrEntry trie, YAP_Term entry) { TrData data; TrNode node; @@ -157,7 +156,7 @@ TrData trie_put_entry(TrEntry trie, YAP_Term entry) { } -inline + TrData trie_check_entry(TrEntry trie, YAP_Term entry) { TrNode node; @@ -167,13 +166,13 @@ TrData trie_check_entry(TrEntry trie, YAP_Term entry) { } -inline + YAP_Term trie_get_entry(TrData data) { return core_trie_get_entry(TrData_leaf(data)); } -inline + TrData trie_get_first_entry(TrEntry trie) { TrData data; @@ -182,7 +181,7 @@ TrData trie_get_first_entry(TrEntry trie) { } -inline + TrData trie_get_last_entry(TrEntry trie) { TrData data; @@ -193,7 +192,7 @@ TrData trie_get_last_entry(TrEntry trie) { } -inline + TrData trie_traverse_init(TrEntry trie, TrData init_data) { TrData data; @@ -210,7 +209,7 @@ TrData trie_traverse_init(TrEntry trie, TrData init_data) { } -inline + TrData trie_traverse_cont(TrEntry trie) { TrData data; @@ -229,21 +228,21 @@ TrData trie_traverse_cont(TrEntry trie) { } -inline + void trie_remove_entry(TrData data) { core_trie_remove_entry(TRIE_ENGINE, TrData_leaf(data), &trie_data_destruct); return; } -inline + void trie_remove_subtree(TrData data) { core_trie_remove_subtree(TRIE_ENGINE, TrData_leaf(data), &trie_data_destruct); return; } -inline + void trie_join(TrEntry trie_dest, TrEntry trie_source) { CURRENT_TRIE = trie_dest; core_trie_join(TRIE_ENGINE, TrEntry_trie(trie_dest), TrEntry_trie(trie_source), NULL, &trie_data_copy); @@ -251,33 +250,33 @@ void trie_join(TrEntry trie_dest, TrEntry trie_source) { } -inline + void trie_intersect(TrEntry trie_dest, TrEntry trie_source) { core_trie_intersect(TRIE_ENGINE, TrEntry_trie(trie_dest), TrEntry_trie(trie_source), NULL, &trie_data_destruct); return; } -inline + YAP_Int trie_count_join(TrEntry trie1, TrEntry trie2) { return core_trie_count_join(TrEntry_trie(trie1), TrEntry_trie(trie2)); } -inline + YAP_Int trie_count_intersect(TrEntry trie1, TrEntry trie2) { return core_trie_count_intersect(TrEntry_trie(trie1), TrEntry_trie(trie2)); } -inline + void trie_save(TrEntry trie, FILE *file) { core_trie_save(TrEntry_trie(trie), file, NULL); return; } -inline + TrEntry trie_load(FILE *file) { TrEntry trie; TrNode node; @@ -296,35 +295,34 @@ TrEntry trie_load(FILE *file) { } -inline + void trie_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes) { core_trie_stats(TRIE_ENGINE, memory, tries, entries, nodes); return; } -inline + void trie_max_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes) { core_trie_max_stats(TRIE_ENGINE, memory, tries, entries, nodes); return; } -inline void trie_usage(TrEntry trie, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes) { core_trie_usage(TrEntry_trie(trie), entries, nodes, virtual_nodes); return; } -inline + void trie_print(TrEntry trie) { core_trie_print(TrEntry_trie(trie), NULL); return; } -inline + void trie_data_construct(TrNode node) { TrData data; @@ -334,20 +332,20 @@ void trie_data_construct(TrNode node) { } -inline + void trie_set_traverse_mode(YAP_Int mode) { CURRENT_TRAVERSE_MODE = mode; return; } -inline + YAP_Int trie_get_traverse_mode(void) { return CURRENT_TRAVERSE_MODE; } -inline + TrData trie_traverse_first(TrEntry trie) { TrData data; if (CURRENT_TRAVERSE_MODE == TRAVERSE_MODE_FORWARD) @@ -358,7 +356,7 @@ TrData trie_traverse_first(TrEntry trie) { } -inline + TrData trie_traverse_next(TrData cur) { TrData data = NULL; if (cur) { @@ -374,14 +372,14 @@ TrData trie_traverse_next(TrData cur) { } -inline + void trie_disable_hash_table(void) { core_disable_hash_table(); return; } -inline + void trie_enable_hash_table(void) { core_enable_hash_table(); return; @@ -400,7 +398,7 @@ TrData get_data_from_trie_node(TrNode node) { } -inline + YAP_Term trie_to_list(TrEntry trie) { return core_trie_to_list(TrEntry_trie(trie)); } diff --git a/library/tries/base_tries.h b/library/tries/base_tries.h index 55429313c..e21e3274a 100644 --- a/library/tries/base_tries.h +++ b/library/tries/base_tries.h @@ -106,43 +106,43 @@ typedef struct trie_data { /* API */ /* --------------------------- */ -inline void trie_init_module(void); -inline void trie_data_load(TrNode node, YAP_Int depth, FILE *file); -inline void trie_data_copy(TrNode node_dest, TrNode node_source); -inline void trie_data_destruct(TrNode node); -inline TrEntry trie_open(void); -inline void trie_close(TrEntry trie); -inline void trie_close_all(void); -inline void trie_set_mode(YAP_Int mode); -inline YAP_Int trie_get_mode(void); -inline TrData trie_put_entry(TrEntry trie, YAP_Term entry); -inline TrData trie_check_entry(TrEntry trie, YAP_Term entry); -inline YAP_Term trie_get_entry(TrData data); -inline TrData trie_get_first_entry(TrEntry trie); -inline TrData trie_get_last_entry(TrEntry trie); -inline TrData trie_traverse_init(TrEntry trie, TrData init_data); -inline TrData trie_traverse_cont(TrEntry trie); -inline void trie_remove_entry(TrData data); -inline void trie_remove_subtree(TrData data); -inline void trie_join(TrEntry trie_dest, TrEntry trie_source); -inline void trie_intersect(TrEntry trie_dest, TrEntry trie_source); -inline YAP_Int trie_count_join(TrEntry trie1, TrEntry trie2); -inline YAP_Int trie_count_intersect(TrEntry trie1, TrEntry trie2); -inline void trie_save(TrEntry trie, FILE *file); -inline TrEntry trie_load(FILE *file); -inline void trie_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -inline void trie_max_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -inline void trie_usage(TrEntry trie, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); -inline void trie_print(TrEntry trie); +void trie_init_module(void); +void trie_data_load(TrNode node, YAP_Int depth, FILE *file); +void trie_data_copy(TrNode node_dest, TrNode node_source); +void trie_data_destruct(TrNode node); +TrEntry trie_open(void); +void trie_close(TrEntry trie); +void trie_close_all(void); +void trie_set_mode(YAP_Int mode); +YAP_Int trie_get_mode(void); +TrData trie_put_entry(TrEntry trie, YAP_Term entry); +TrData trie_check_entry(TrEntry trie, YAP_Term entry); +YAP_Term trie_get_entry(TrData data); +TrData trie_get_first_entry(TrEntry trie); +TrData trie_get_last_entry(TrEntry trie); +TrData trie_traverse_init(TrEntry trie, TrData init_data); +TrData trie_traverse_cont(TrEntry trie); +void trie_remove_entry(TrData data); +void trie_remove_subtree(TrData data); +void trie_join(TrEntry trie_dest, TrEntry trie_source); +void trie_intersect(TrEntry trie_dest, TrEntry trie_source); +YAP_Int trie_count_join(TrEntry trie1, TrEntry trie2); +YAP_Int trie_count_intersect(TrEntry trie1, TrEntry trie2); +void trie_save(TrEntry trie, FILE *file); +TrEntry trie_load(FILE *file); +void trie_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +void trie_max_stats(YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +void trie_usage(TrEntry trie, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); +void trie_print(TrEntry trie); -inline void trie_data_construct(TrNode node); -inline void trie_set_traverse_mode(YAP_Int mode); -inline YAP_Int trie_get_traverse_mode(void); -inline TrData trie_traverse_first(TrEntry trie); -inline TrData trie_traverse_next(TrData data); -inline void trie_disable_hash_table(void); -inline void trie_enable_hash_table(void); +void trie_data_construct(TrNode node); +void trie_set_traverse_mode(YAP_Int mode); +YAP_Int trie_get_traverse_mode(void); +TrData trie_traverse_first(TrEntry trie); +TrData trie_traverse_next(TrData data); +void trie_disable_hash_table(void); +void trie_enable_hash_table(void); -inline YAP_Term trie_to_list(TrEntry trie); +YAP_Term trie_to_list(TrEntry trie); #include "base_dbtries.h" diff --git a/library/tries/core_dbtries.c b/library/tries/core_dbtries.c index 071c1b23e..820d48043 100644 --- a/library/tries/core_dbtries.c +++ b/library/tries/core_dbtries.c @@ -209,10 +209,10 @@ inline void displaynode(TrNode node); inline int traverse_get_counter(TrNode node); inline YAP_Term generate_label(YAP_Int Index); -inline YAP_Term update_depth_breadth_trie(TrEngine engine, TrNode root, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)); -inline YAP_Term get_return_node_term(TrNode node); -inline void traverse_and_replace_nested_trie(TrNode node, YAP_Int nested_trie_id, YAP_Term new_term); -inline TrNode replace_nested_trie(TrNode node, TrNode child, YAP_Term new_term); +YAP_Term update_depth_breadth_trie(TrEngine engine, TrNode root, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)); +YAP_Term get_return_node_term(TrNode node); +void traverse_and_replace_nested_trie(TrNode node, YAP_Int nested_trie_id, YAP_Term new_term); +TrNode replace_nested_trie(TrNode node, TrNode child, YAP_Term new_term); /* -------------------------- */ @@ -229,20 +229,20 @@ static YAP_Int TRIE_DEPTH_BREADTH_OPT_COUNT[3]; /* depth-breadth Trie */ /* -------------------------- */ -inline + YAP_Int core_get_trie_db_opt_min_prefix(void) { return TRIE_DEPTH_BREADTH_MIN_PREFIX; } -inline + void core_set_trie_db_opt_min_prefix(YAP_Int min_prefix) { TRIE_DEPTH_BREADTH_MIN_PREFIX = min_prefix; return; } -inline + void core_depth_breadth_trie_replace_nested_trie(TrNode node, YAP_Int nested_trie_id, YAP_Term new_term) { traverse_and_replace_nested_trie(node, nested_trie_id, new_term); return; @@ -350,7 +350,6 @@ void traverse_and_replace_nested_trie(TrNode node, YAP_Int nested_trie_id, YAP_T } /* fixmeeee */ -inline TrNode replace_nested_trie(TrNode node, TrNode child, YAP_Term new_term) { TrNode newnode, temp, newnodef = NULL; if (YAP_IsApplTerm(new_term)) { @@ -409,31 +408,31 @@ TrNode replace_nested_trie(TrNode node, TrNode child, YAP_Term new_term) { } -inline + YAP_Term core_get_trie_db_return_term(void) { return TRIE_DEPTH_BREADTH_RETURN_TERM; } -inline + void core_set_trie_db_return_term(YAP_Term return_value){ TRIE_DEPTH_BREADTH_RETURN_TERM = return_value; return; } -inline + void core_set_label_counter(YAP_Int value) { LABEL_COUNTER = value; // Initialize the counter return; } -inline + YAP_Int core_get_label_counter(void) { return LABEL_COUNTER; } -inline + void core_initialize_depth_breadth_trie(TrNode node, TrNode *depth_node, TrNode *breadth_node) { TrNode root = node; YAP_Functor f; @@ -450,7 +449,7 @@ void core_initialize_depth_breadth_trie(TrNode node, TrNode *depth_node, TrNode } -inline + void core_finalize_depth_breadth_trie(TrNode depth_node, TrNode breadth_node) { depth_node = trie_node_check_insert(depth_node, YAP_MkIntTerm(1)); depth_node = trie_node_check_insert(depth_node, PairEndTag); @@ -464,7 +463,7 @@ void core_finalize_depth_breadth_trie(TrNode depth_node, TrNode breadth_node) { } -inline + TrNode core_depth_reduction(TrEngine engine, TrNode node, TrNode depth_node, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)) { TrNode leaf = node; YAP_Term t, *stack_top; @@ -530,7 +529,7 @@ TrNode core_depth_reduction(TrEngine engine, TrNode node, TrNode depth_node, YAP } -inline + TrNode core_breadth_reduction(TrEngine engine, TrNode node, TrNode breadth_node, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)) { YAP_Term t, *stack_top; int count = -1; @@ -760,7 +759,7 @@ YAP_Term generate_label(YAP_Int Index) { } -inline + YAP_Term update_depth_breadth_trie(TrEngine engine, TrNode root, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)) { TrNode node = root, remember = NULL; int count = -1, cnt = -1, c_cnt = 0, f_cnt = 0; @@ -903,7 +902,7 @@ YAP_Term update_depth_breadth_trie(TrEngine engine, TrNode root, YAP_Int opt_lev } -inline + YAP_Int core_db_trie_get_optimization_level_count(YAP_Int opt_level) { return TRIE_DEPTH_BREADTH_OPT_COUNT[opt_level - 1]; } diff --git a/library/tries/core_dbtries.h b/library/tries/core_dbtries.h index 8b74218ab..053a366fe 100644 --- a/library/tries/core_dbtries.h +++ b/library/tries/core_dbtries.h @@ -215,15 +215,15 @@ /* API */ /* --------------------------- */ -inline void core_set_label_counter(YAP_Int value); -inline YAP_Int core_get_label_counter(void); -inline void core_initialize_depth_breadth_trie(TrNode node, TrNode *depth_node, TrNode *breadth_node); -inline void core_finalize_depth_breadth_trie(TrNode depth_node, TrNode breadth_node); -inline TrNode core_depth_reduction(TrEngine engine, TrNode node, TrNode depth_node, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)); -inline TrNode core_breadth_reduction(TrEngine engine, TrNode node, TrNode breadth_node, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)); -inline YAP_Term core_get_trie_db_return_term(void); -inline void core_set_trie_db_return_term(YAP_Term return_value); -inline YAP_Int core_db_trie_get_optimization_level_count(YAP_Int opt_level); -inline void core_depth_breadth_trie_replace_nested_trie(TrNode node, YAP_Int nested_trie_id, YAP_Term new_term); -inline YAP_Int core_get_trie_db_opt_min_prefix(void); -inline void core_set_trie_db_opt_min_prefix(YAP_Int min_prefix); +void core_set_label_counter(YAP_Int value); +YAP_Int core_get_label_counter(void); +void core_initialize_depth_breadth_trie(TrNode node, TrNode *depth_node, TrNode *breadth_node); +void core_finalize_depth_breadth_trie(TrNode depth_node, TrNode breadth_node); +TrNode core_depth_reduction(TrEngine engine, TrNode node, TrNode depth_node, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)); +TrNode core_breadth_reduction(TrEngine engine, TrNode node, TrNode breadth_node, YAP_Int opt_level, void (*construct_function)(TrNode), void (*destruct_function)(TrNode), void (*copy_function)(TrNode, TrNode), void (*correct_order_function)(void)); +YAP_Term core_get_trie_db_return_term(void); +void core_set_trie_db_return_term(YAP_Term return_value); +YAP_Int core_db_trie_get_optimization_level_count(YAP_Int opt_level); +void core_depth_breadth_trie_replace_nested_trie(TrNode node, YAP_Int nested_trie_id, YAP_Term new_term); +YAP_Int core_get_trie_db_opt_min_prefix(void); +void core_set_trie_db_opt_min_prefix(YAP_Int min_prefix); diff --git a/library/tries/core_tries.c b/library/tries/core_tries.c index 24bb31c6a..aebc8d180 100644 --- a/library/tries/core_tries.c +++ b/library/tries/core_tries.c @@ -49,10 +49,11 @@ static YAP_Term trie_to_list_floats(TrNode node); /* -------------------------- */ static TrEngine CURRENT_TRIE_ENGINE; + static YAP_Int USAGE_ENTRIES, USAGE_NODES, USAGE_VIRTUAL_NODES; static YAP_Int CURRENT_AUXILIARY_TERM_STACK_SIZE, CURRENT_TRIE_MODE, CURRENT_LOAD_VERSION, CURRENT_DEPTH, CURRENT_INDEX; static YAP_Term *AUXILIARY_TERM_STACK; -static YAP_Term *stack_args, *stack_args_base, *stack_vars, *stack_vars_base; +YAP_Term *stack_args, *stack_args_base, *stack_vars, *stack_vars_base; static YAP_Functor FunctorComma; static void (*DATA_SAVE_FUNCTION)(TrNode, FILE *); static void (*DATA_LOAD_FUNCTION)(TrNode, YAP_Int, FILE *); @@ -68,7 +69,7 @@ static YAP_Int TRIE_DISABLE_HASH_TABLE = 0; /* Inline Procedures */ /* -------------------------- */ -static inline +static TrNode trie_node_check_insert(TrNode parent, YAP_Term t) { TrNode child; @@ -156,7 +157,7 @@ TrNode trie_node_check_insert(TrNode parent, YAP_Term t) { } -static inline +static TrNode trie_node_insert(TrNode parent, YAP_Term t, TrHash hash) { TrNode child; @@ -180,7 +181,7 @@ TrNode trie_node_insert(TrNode parent, YAP_Term t, TrHash hash) { } -static inline +static TrNode trie_node_check(TrNode parent, YAP_Term t) { TrNode child; @@ -203,7 +204,7 @@ TrNode trie_node_check(TrNode parent, YAP_Term t) { } -static inline +static YAP_Term trie_to_list_create_simple(const char *atom_name, TrNode node) { YAP_Functor f = YAP_MkFunctor(YAP_LookupAtom(atom_name), 1); YAP_Term child = trie_to_list(TrNode_child(node)); @@ -212,7 +213,7 @@ YAP_Term trie_to_list_create_simple(const char *atom_name, TrNode node) { } -static inline +static YAP_Term trie_to_list_create_simple_end(const char *atom_name, TrNode node) { YAP_Atom atom = YAP_LookupAtom(atom_name); @@ -226,7 +227,7 @@ YAP_Term trie_to_list_create_simple_end(const char *atom_name, TrNode node) { } -static inline +static YAP_Term trie_to_list_create_two(const char *atom_name, TrNode node, YAP_Term operand) { YAP_Atom atom = YAP_LookupAtom(atom_name); @@ -247,7 +248,6 @@ YAP_Term trie_to_list_create_two(const char *atom_name, TrNode node, YAP_Term op /* API */ /* -------------------------- */ -inline TrEngine core_trie_init_module(void) { static int init_once = 1; TrEngine engine; @@ -264,7 +264,7 @@ TrEngine core_trie_init_module(void) { } -inline + TrNode core_trie_open(TrEngine engine) { TrNode node; @@ -278,7 +278,7 @@ TrNode core_trie_open(TrEngine engine) { } -inline + void core_trie_close(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)) { CURRENT_TRIE_ENGINE = engine; DATA_DESTRUCT_FUNCTION = destruct_function; @@ -295,7 +295,7 @@ void core_trie_close(TrEngine engine, TrNode node, void (*destruct_function)(TrN } -inline + void core_trie_close_all(TrEngine engine, void (*destruct_function)(TrNode)) { while (TrEngine_trie(engine)) core_trie_close(engine, TrEngine_trie(engine), destruct_function); @@ -303,20 +303,20 @@ void core_trie_close_all(TrEngine engine, void (*destruct_function)(TrNode)) { } -inline + void core_trie_set_mode(YAP_Int mode) { CURRENT_TRIE_MODE = mode; return; } -inline + YAP_Int core_trie_get_mode(void) { return CURRENT_TRIE_MODE; } -inline + TrNode core_trie_put_entry(TrEngine engine, TrNode node, YAP_Term entry, YAP_Int *depth) { CURRENT_TRIE_ENGINE = engine; CURRENT_DEPTH = 0; @@ -338,7 +338,7 @@ TrNode core_trie_put_entry(TrEngine engine, TrNode node, YAP_Term entry, YAP_Int } -inline + TrNode core_trie_check_entry(TrNode node, YAP_Term entry) { if (!TrNode_child(node)) return NULL; @@ -354,7 +354,7 @@ TrNode core_trie_check_entry(TrNode node, YAP_Term entry) { } -inline + YAP_Term core_trie_get_entry(TrNode node) { CURRENT_INDEX = -1; stack_vars_base = stack_vars = AUXILIARY_TERM_STACK; @@ -363,7 +363,7 @@ YAP_Term core_trie_get_entry(TrNode node) { } -inline + void core_trie_remove_entry(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)) { CURRENT_TRIE_ENGINE = engine; DATA_DESTRUCT_FUNCTION = destruct_function; @@ -375,7 +375,7 @@ void core_trie_remove_entry(TrEngine engine, TrNode node, void (*destruct_functi } -inline + void core_trie_remove_subtree(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)) { TrNode parent; @@ -388,7 +388,7 @@ void core_trie_remove_subtree(TrEngine engine, TrNode node, void (*destruct_func } -inline + void core_trie_add(TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode)) { DATA_ADD_FUNCTION = add_function; if (TrNode_child(node_dest) && TrNode_child(node_source)) @@ -397,7 +397,7 @@ void core_trie_add(TrNode node_dest, TrNode node_source, void (*add_function)(Tr } -inline + void core_trie_join(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*copy_function)(TrNode, TrNode)) { CURRENT_TRIE_ENGINE = engine; DATA_ADD_FUNCTION = add_function; @@ -411,7 +411,7 @@ void core_trie_join(TrEngine engine, TrNode node_dest, TrNode node_source, void } -inline + void core_trie_intersect(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*destruct_function)(TrNode)) { CURRENT_TRIE_ENGINE = engine; DATA_ADD_FUNCTION = add_function; @@ -428,7 +428,7 @@ void core_trie_intersect(TrEngine engine, TrNode node_dest, TrNode node_source, } -inline + YAP_Int core_trie_count_join(TrNode node1, TrNode node2) { YAP_Int count = 0; @@ -444,7 +444,7 @@ YAP_Int core_trie_count_join(TrNode node1, TrNode node2) { } -inline + YAP_Int core_trie_count_intersect(TrNode node1, TrNode node2) { YAP_Int count = 0; @@ -455,7 +455,7 @@ YAP_Int core_trie_count_intersect(TrNode node1, TrNode node2) { } -inline + void core_trie_save(TrNode node, FILE *file, void (*save_function)(TrNode, FILE *)) { CURRENT_INDEX = -1; DATA_SAVE_FUNCTION = save_function; @@ -469,7 +469,7 @@ void core_trie_save(TrNode node, FILE *file, void (*save_function)(TrNode, FILE } -inline + TrNode core_trie_load(TrEngine engine, FILE *file, void (*load_function)(TrNode, YAP_Int, FILE *)) { TrNode node; char version[15]; @@ -523,7 +523,7 @@ TrNode core_trie_load(TrEngine engine, FILE *file, void (*load_function)(TrNode, } -inline + void core_trie_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes) { *memory = TrEngine_memory(engine); *tries = TrEngine_tries(engine); @@ -533,7 +533,7 @@ void core_trie_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int * } -inline + void core_trie_max_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes) { *memory = TrEngine_memory_max(engine); *tries = TrEngine_tries_max(engine); @@ -543,7 +543,7 @@ void core_trie_max_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_I } -inline + void core_trie_usage(TrNode node, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes) { USAGE_ENTRIES = 0; USAGE_NODES = 0; @@ -557,7 +557,7 @@ void core_trie_usage(TrNode node, YAP_Int *entries, YAP_Int *nodes, YAP_Int *vir } -inline + void core_trie_print(TrNode node, void (*print_function)(TrNode)) { DATA_PRINT_FUNCTION = print_function; if (TrNode_child(node)) { @@ -572,19 +572,19 @@ void core_trie_print(TrNode node, void (*print_function)(TrNode)) { } -inline + void core_disable_hash_table(void) { TRIE_DISABLE_HASH_TABLE = 1; } -inline + void core_enable_hash_table(void) { TRIE_DISABLE_HASH_TABLE = 0; } -inline + YAP_Term core_trie_to_list(TrNode node) { TrNode root = TrNode_child(node); @@ -1724,7 +1724,7 @@ YAP_Term trie_to_list_node(TrNode node) { #ifdef TAG_LOW_BITS_32 -static inline + YAP_Term trie_to_list_floats_tag_low_32(YAP_Term result, TrNode node, volatile YAP_Term *p, volatile double *f) { if(IS_HASH_NODE(node)) { TrNode *first_bucket, *bucket; diff --git a/library/tries/core_tries.h b/library/tries/core_tries.h index e9029ed26..23b25b992 100644 --- a/library/tries/core_tries.h +++ b/library/tries/core_tries.h @@ -287,32 +287,32 @@ typedef struct trie_hash { /* API */ /* --------------------------- */ -inline TrEngine core_trie_init_module(void); -inline TrNode core_trie_open(TrEngine engine); -inline void core_trie_close(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); -inline void core_trie_close_all(TrEngine engine, void (*destruct_function)(TrNode)); -inline void core_trie_set_mode(YAP_Int mode); -inline YAP_Int core_trie_get_mode(void); -inline TrNode core_trie_put_entry(TrEngine engine, TrNode node, YAP_Term entry, YAP_Int *depth); -inline TrNode core_trie_check_entry(TrNode node, YAP_Term entry); -inline YAP_Term core_trie_get_entry(TrNode node); -inline void core_trie_remove_entry(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); -inline void core_trie_remove_subtree(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); -inline void core_trie_add(TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode)); -inline void core_trie_join(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*copy_function)(TrNode, TrNode)); -inline void core_trie_intersect(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*destruct_function)(TrNode)); -inline YAP_Int core_trie_count_join(TrNode node1, TrNode node2); -inline YAP_Int core_trie_count_intersect(TrNode node1, TrNode node2); -inline void core_trie_save(TrNode node, FILE *file, void (*save_function)(TrNode, FILE *)); -inline TrNode core_trie_load(TrEngine engine, FILE *file, void (*load_function)(TrNode, YAP_Int, FILE *)); -inline void core_trie_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -inline void core_trie_max_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); -inline void core_trie_usage(TrNode node, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); -inline void core_trie_print(TrNode node, void (*print_function)(TrNode)); +TrEngine core_trie_init_module(void); +TrNode core_trie_open(TrEngine engine); +void core_trie_close(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); +void core_trie_close_all(TrEngine engine, void (*destruct_function)(TrNode)); +void core_trie_set_mode(YAP_Int mode); +YAP_Int core_trie_get_mode(void); +TrNode core_trie_put_entry(TrEngine engine, TrNode node, YAP_Term entry, YAP_Int *depth); +TrNode core_trie_check_entry(TrNode node, YAP_Term entry); +YAP_Term core_trie_get_entry(TrNode node); +void core_trie_remove_entry(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); +void core_trie_remove_subtree(TrEngine engine, TrNode node, void (*destruct_function)(TrNode)); +void core_trie_add(TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode)); +void core_trie_join(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*copy_function)(TrNode, TrNode)); +void core_trie_intersect(TrEngine engine, TrNode node_dest, TrNode node_source, void (*add_function)(TrNode, TrNode), void (*destruct_function)(TrNode)); +YAP_Int core_trie_count_join(TrNode node1, TrNode node2); +YAP_Int core_trie_count_intersect(TrNode node1, TrNode node2); +void core_trie_save(TrNode node, FILE *file, void (*save_function)(TrNode, FILE *)); +TrNode core_trie_load(TrEngine engine, FILE *file, void (*load_function)(TrNode, YAP_Int, FILE *)); +void core_trie_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +void core_trie_max_stats(TrEngine engine, YAP_Int *memory, YAP_Int *tries, YAP_Int *entries, YAP_Int *nodes); +void core_trie_usage(TrNode node, YAP_Int *entries, YAP_Int *nodes, YAP_Int *virtual_nodes); +void core_trie_print(TrNode node, void (*print_function)(TrNode)); -inline void core_disable_hash_table(void); -inline void core_enable_hash_table(void); +void core_disable_hash_table(void); +void core_enable_hash_table(void); -inline YAP_Term core_trie_to_list(TrNode node); +YAP_Term core_trie_to_list(TrNode node); #include "core_dbtries.h" diff --git a/library/tries/tries.c b/library/tries/tries.c index 712f1efb0..b289697c1 100644 --- a/library/tries/tries.c +++ b/library/tries/tries.c @@ -903,7 +903,7 @@ static int p_trie_get_db_opt_level_count_cont(void) { YAP_PRESERVED_DATA(opt_level, db_trie_opt_level); opt_level->value = YAP_MkIntTerm(YAP_IntOfTerm(opt_level->value) + 1); if (YAP_IntOfTerm(opt_level->value) < 4) { - if (YAP_Unify(arg_opt_level, opt_level->value)); + if (YAP_Unify(arg_opt_level, opt_level->value)) return YAP_Unify(arg_count, YAP_MkIntTerm(trie_get_db_opt_level_count(YAP_IntOfTerm(arg_opt_level)))); YAP_cut_fail(); return FALSE; diff --git a/misc/buildops b/misc/buildops index d4b6ec15a..964bab1ff 100644 --- a/misc/buildops +++ b/misc/buildops @@ -242,6 +242,7 @@ rewritable_field(0't). get_op(0'a,"Arity"). +get_op(0'A,"Atom"). get_op(0'b,"CellPtoHeap"). get_op(0'c,"ConstantTerm"). get_op(0'd,"DoubleInCode"). diff --git a/os/pl-read.c b/os/pl-read.c index 7ccf9413f..8a9ac85e1 100644 --- a/os/pl-read.c +++ b/os/pl-read.c @@ -347,8 +347,7 @@ void Yap_setCurrentSourceLocation(IOSTREAM **s) { GET_LD - if (!*s) - *s = Suser_input; + if (*s) setCurrentSourceLocation(*s PASS_LD); } #endif diff --git a/packages/archive b/packages/archive index 7984859c5..9e22ca88f 160000 --- a/packages/archive +++ b/packages/archive @@ -1 +1 @@ -Subproject commit 7984859c5739a7af6564fb890a28c32a98aa727e +Subproject commit 9e22ca88f2fc1e0bd32cad5ac5a904e973f394b5 diff --git a/packages/bdd/configure.in b/packages/bdd/configure.in new file mode 100644 index 000000000..9e2292154 --- /dev/null +++ b/packages/bdd/configure.in @@ -0,0 +1,104 @@ +AC_ARG_WITH(cudd, + [ --with-cudd[=DIR] use CUDD package in DIR], + yap_cv_cudd="$withval", + [yap_cv_cudd=no]) + +if test "$yap_cv_cudd" = no +then + ENABLE_CUDD="@# " + ENABLE_BDDLIB="@# " +else + if test "$dynamic_bdd" = yes + then + ENABLE_BDDLIB="" + else + ENABLE_BDDLIB="@# " + fi + ENABLE_CUDD="" +fi + + + +if test "$yap_cv_cudd" != no; then + +oldlibs="$LIBS" + +if test "$yap_cv_cudd" != "NONE" -a "$yap_cv_cudd" != "yes"; then + CUDD_CPPFLAGS="-I $yap_cv_cudd/include" + cudd_dir="$yap_cv_cudd" +elif test "$prefix" != "NONE"; then + CUDD_CPPFLAGS="-I $prefix/include" + cudd_dir="$prefix" +else + CUDD_CPPFLAGS="-I /usr/local/include" + cudd_dir=/usr/local +fi + +OLD_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $CUDD_CPPFLAGS" + +AC_CHECK_HEADERS(util.h cudd/util.h cudd.h cudd/cudd.h) +AC_CHECK_HEADERS(cuddInt.h cudd/cuddInt.h) + +dnl cudd can be most everywhere +if test -d "$cudd_dir/lib64/cudd" -a "$YAP_TARGET" = amd64; then + LIBS="$LIBS -L $cudd_dir/lib64/cudd" +elif test -d "$cudd_dir/lib64" -a "$YAP_TARGET" = amd64; then + LIBS="$LIBS -L $cudd_dir/lib64 -L $cudd_dir/lib" +elif test -d "$cudd_dir/lib/cudd"; then + LIBS="$LIBS -L $cudd_dir/lib/cudd" +elif test -d "$cudd_dir/lib"; then + LIBS="$LIBS -L $cudd_dir/lib" +fi + +if test -d "$cudd_dir/util"; then + LIBS="$LIBS -L $cudd_dir/util" +fi + +AC_SEARCH_LIBS(util_print_cpu_stats, [cuddutil util]) + +if test -d "$cudd_dir/st"; then + LIBS="$LIBS -L $cudd_dir/st" +fi + +AC_SEARCH_LIBS(st_insert, [cuddst st]) + +if test -d "$cudd_dir/epd"; then + LIBS="$LIBS -L $cudd_dir/epd" +fi + +AC_SEARCH_LIBS(EpdAdd, [epd]) + +if test -d "$cudd_dir/mtr"; then + LIBS="$LIBS -L $cudd_dir/mtr" +fi + +AC_SEARCH_LIBS(Mtr_InitTree, [mtr]) + +if test -d "$cudd_dir/cudd"; then + LIBS="$LIBS -L $cudd_dir/cudd" +fi + +AC_SEARCH_LIBS(Cudd_Init, [cudd], [cudd_installed="yes"], [cudd_installed="no"]) + +CPPFLAGS="$OLD_CPPFLAGS" + +if test "$cudd_installed" = yes; then + CUDD_LDFLAGS="$LIBS" +else + cat << EOF +################################################################## +# ERROR: Could not find cudd library. Either I don't have the +# correct path, or CUDD is installed in some strange way +################################################################## +EOF + fi + +LIBS="$oldlibs" + +fi + +AC_SUBST(ENABLE_CUDD) +AC_SUBST(ENABLE_BDDLIB) +AC_SUBST(CUDD_LDFLAGS) +AC_SUBST(CUDD_CPPFLAGS) diff --git a/packages/chr b/packages/chr index bd7973d4b..fe49dc72a 160000 --- a/packages/chr +++ b/packages/chr @@ -1 +1 @@ -Subproject commit bd7973d4bff21af39e5f8efdc377c0a2eb2d594f +Subproject commit fe49dc72a077b8f853fa2fb42661bd79a8c6aa00 diff --git a/packages/clib b/packages/clib index b81392345..759a537c5 160000 --- a/packages/clib +++ b/packages/clib @@ -1 +1 @@ -Subproject commit b813923455e5efb2b55770699b84411c6dd37952 +Subproject commit 759a537c5937e7ca5eccc4f786b5e2eaf516a91a diff --git a/packages/cuda/configure.in b/packages/cuda/configure.in new file mode 100644 index 000000000..f76424677 --- /dev/null +++ b/packages/cuda/configure.in @@ -0,0 +1,47 @@ +AC_ARG_WITH(cuda, + [ --enable-cuda use minisat interface], + if test "$withval" = yes; then + yap_cv_cuda=/usr + elif test "$withval" = no; then + yap_cv_cuda=no + else + yap_cv_cuda="$withval" + fi, + [yap_cv_cuda=no]) + + +CUDA_LDFLAGS="" +CUDA_CPPFLAGS="" +if test "$yap_cv_cuda" = no +then + ENABLE_CUDA="@# " +else + AC_PATH_PROG(NVCC, [nvcc], [no], [$yap_cv_cuda/bin]) + if test "$yap_cv_cuda" = no + then + ENABLE_CUDA="@# " + else + ENABLE_CUDA="" + case "$target_os" in + *darwin*) + CUDA_LDFLAGS="$LDFLAGS" + CUDA_CPPFLAGS="-arch=sm_20 -Xcompiler -fPIC -O3 " + CUDA_SHLIB_LD="$NVCC -Xcompiler -dynamiclib -L../.. -lYap " + ;; + **) + CUDA_LDFLAGS="$LDFLAGS $LIBS" + CUDA_CPPFLAGS=" -arch=sm_20 -Xcompiler -fPIC -O3 " + CUDA_SHLIB_LD="$NVCC -Xcompiler -export-dynamic" + ;; + esac + fi +fi + +AC_SUBST(ENABLE_CUDA) +AC_SUBST(NVCC) +AC_SUBST(CUDA_SHLIB_LD) +AC_SUBST(CUDA_CPPFLAGS) +AC_SUBST(CUDA_LDFLAGS) + +AC_CONFIG_FILES([packages/cuda/Makefile]) + diff --git a/packages/cuda/lista.cu b/packages/cuda/lista.cu index dde438acc..ca2f3c21e 100644 --- a/packages/cuda/lista.cu +++ b/packages/cuda/lista.cu @@ -926,7 +926,7 @@ int Cuda_Eval(predicate **inpfacts, int ninpf, predicate **inprules, int ninpr, fin = rules.end(); nombres(rul_str, fin); /*preprocessing*/ - movebpreds(rul_str, fin); + //movebpreds(rul_str, fin); referencias(L.begin(), L.end(), rul_str, fin); seleccion(rul_str, fin); selfjoin(rul_str, fin); @@ -984,7 +984,7 @@ int Cuda_Eval(predicate **inpfacts, int ninpf, predicate **inprules, int ninpr, rows1 = cargar(name1, filas1, cols1, isfact1, table1, &dop1, itr); - //cout << "rows1 = " << rows1 << endl; + // cout << "rows1 = " << rows1 << endl; if(rows1 == 0) { @@ -1012,7 +1012,6 @@ int Cuda_Eval(predicate **inpfacts, int ninpf, predicate **inprules, int ninpr, { /*int x, y; - cout << "antes = " << cols1 << " " << rows1 << endl; int *hop1 = (int *)malloc(cols1 * rows1 * sizeof(int)); cudaMemcpy(hop1, dop1, cols1 * rows1 * sizeof(int), cudaMemcpyDeviceToHost); for(x = 0; x < rows1; x++) @@ -1086,6 +1085,27 @@ int Cuda_Eval(predicate **inpfacts, int ninpf, predicate **inprules, int ninpr, num_refs = rul_act->num_rows - 1; for(x = 2; x < num_refs; x++) { + if (rul_act->address_host_table[x] < 0) { + #ifdef TIMER + cudaEvent_t start3, stop3; + cudaEventCreate(&start3); + cudaEventCreate(&stop3); + cudaEventRecord(start3, 0); + #endif + + res_rows = bpreds(res, res_rows, rul_act->projpos[x-2].y, rul_act->builtin, rul_act->num_bpreds, &res); + + #ifdef TIMER + cudaEventRecord(stop3, 0); + cudaEventSynchronize(stop3); + cudaEventElapsedTime(&time, start3, stop3); + cudaEventDestroy(start3); + cudaEventDestroy(stop3); + //cout << "Predicados = " << time << endl; + cuda_stats.pred_time += time; + #endif + continue; + } tipo = rul_act->referencias[x]; if(tipo < 0) { @@ -1108,42 +1128,43 @@ int Cuda_Eval(predicate **inpfacts, int ninpf, predicate **inprules, int ninpr, rows2 = cargar(name2, filas2, cols2, isfact2, table2, &dop2, itr); - //cout << "rows = " << x << " " << rows2 << endl; + //out << "rows = " << x << " " << rows2 << endl; if(rows2 == 0) break; + cout << x << ": join = " << res_rows << "/" << rul_act->projpos[x-2].y << " " << rows2 << "/" << cols2 << endl; res_rows = join(res, dop2, res_rows, rows2, rul_act->projpos[x-2].y, cols2, rul_act, x-1, 0, &res); if(res_rows == 0) break; - //cout << "resrows = " << res_rows << endl; + cout << x << ": resrows before = " << res_rows << " cols = " << rul_act->projpos[x-1].y << endl; + if (x < num_refs-1 && res_rows > 32) { + +#ifdef TIMER + cudaEvent_t start2, stop2; + cudaEventCreate(&start2); + cudaEventCreate(&stop2); + cudaEventRecord(start2, 0); +#endif + + res_rows = unir(res, res_rows, rul_act->projpos[x-1].y); /*Duplicate Elimination*/ +#ifdef TIMER + cudaEventRecord(stop2, 0); + cudaEventSynchronize(stop2); + cudaEventElapsedTime(&time, start2, stop2); + cudaEventDestroy(start2); + cudaEventDestroy(stop2); + //cout << "Union = " << time << endl; + cuda_stats.union_time += time; +#endif + + cout << "resrows after = " << res_rows << endl; + } } if(x == num_refs) { - if(rul_act->num_bpreds.x > 0) /*Built-in predicates*/ - { - #ifdef TIMER - cudaEvent_t start3, stop3; - cudaEventCreate(&start3); - cudaEventCreate(&stop3); - cudaEventRecord(start3, 0); - #endif - - res_rows = bpreds(res, res_rows, rul_act->num_columns, rul_act->builtin, rul_act->num_bpreds, &res); - - #ifdef TIMER - cudaEventRecord(stop3, 0); - cudaEventSynchronize(stop3); - cudaEventElapsedTime(&time, start3, stop3); - cudaEventDestroy(start3); - cudaEventDestroy(stop3); - //cout << "Predicados = " << time << endl; - cuda_stats.pred_time += time; - #endif - } - //cout << "antes de unir = " << res_rows << endl; #ifdef TIMER diff --git a/packages/cuda/treeb.cu b/packages/cuda/treeb.cu index 7cc7176ce..130ec6454 100755 --- a/packages/cuda/treeb.cu +++ b/packages/cuda/treeb.cu @@ -861,11 +861,11 @@ int join(int *p1, int *p2, int rLen, int sLen, int of1, int of2, list: memSizeS = newLen * sizeof(int); reservar(&d_S, memSizeS); -#ifdef DEBUG_MEM +#if DEBUG_MEM cerr << "+ " << d_S << " d_S " << memSizeS << endl; #endif reservar(&posS, memSizeS); -#ifdef DEBUG_MEM +#if DEBUG_MEM cerr << "+ " << posS << " posS " << memSizeS << endl; #endif llenar<<>>(p2, d_S, sLen, of2, wherej[1], temp, posS); diff --git a/packages/cuda/union2.cu b/packages/cuda/union2.cu index dd1b856c1..8bc305fb5 100644 --- a/packages/cuda/union2.cu +++ b/packages/cuda/union2.cu @@ -13,6 +13,26 @@ typedef struct n3 int v[3]; }s3; +typedef struct n4 +{ + int v[4]; +}s4; + +typedef struct n5 +{ + int v[5]; +}s5; + +typedef struct n6 +{ + int v[6]; +}s6; + +typedef struct n7 +{ + int v[7]; +}s7; + struct p2 { __host__ __device__ @@ -77,13 +97,136 @@ struct o3 } }; +struct p4 +{ + __host__ __device__ + bool operator()(const s4 &r1, const s4 &r2) + { + int x; + for(x = 0; x < 4; x++) + { + if(r1.v[x] != r2.v[x]) + return false; + } + return true; + } +}; + +struct o4 +{ + __host__ __device__ + bool operator()(const s4 &r1, const s4 &r2) + { + int x; + for(x = 0; x < 4; x++) + { + if(r1.v[x] > r2.v[x]) + return true; + if(r1.v[x] < r2.v[x]) + return false; + } + return false; + } +}; + +struct p5 +{ + __host__ __device__ + bool operator()(const s5 &r1, const s5 &r2) + { + int x; + for(x = 0; x < 5; x++) + { + if(r1.v[x] != r2.v[x]) + return false; + } + return true; + } +}; + +struct o5 +{ + __host__ __device__ + bool operator()(const s5 &r1, const s5 &r2) + { + int x; + for(x = 0; x < 5; x++) + { + if(r1.v[x] > r2.v[x]) + return true; + if(r1.v[x] < r2.v[x]) + return false; + } + return false; + } +}; + +struct p6 +{ + __host__ __device__ + bool operator()(const s6 &r1, const s6 &r2) + { + int x; + for(x = 0; x < 6; x++) + { + if(r1.v[x] != r2.v[x]) + return false; + } + return true; + } +}; + +struct o6 +{ + __host__ __device__ + bool operator()(const s6 &r1, const s6 &r2) + { + int x; + for(x = 0; x < 6; x++) + { + if(r1.v[x] > r2.v[x]) + return true; + if(r1.v[x] < r2.v[x]) + return false; + } + return false; + } +}; + +struct p7 +{ + __host__ __device__ + bool operator()(const s7 &r1, const s7 &r2) + { + int x; + for(x = 0; x < 7; x++) + { + if(r1.v[x] != r2.v[x]) + return false; + } + return true; + } +}; + +struct o7 +{ + __host__ __device__ + bool operator()(const s7 &r1, const s7 &r2) + { + int x; + for(x = 0; x < 7; x++) + { + if(r1.v[x] > r2.v[x]) + return true; + if(r1.v[x] < r2.v[x]) + return false; + } + return false; + } +}; + int unir(int *res, int rows, int tipo) { - thrust::device_ptr pt, re; - thrust::device_ptr pt2, re2; - thrust::device_ptr pt3, re3; - s2 *t2; - s3 *t3; int flag, nrows; #if TIMER @@ -93,6 +236,8 @@ int unir(int *res, int rows, int tipo) { case 1: { + thrust::device_ptr pt, re; + pt = thrust::device_pointer_cast(res); flag = 0; while(flag != 1) @@ -116,6 +261,8 @@ int unir(int *res, int rows, int tipo) } case 2: { + thrust::device_ptr pt2, re2; + s2 *t2; t2 = (s2*)res; /*int *a, x, y; @@ -169,6 +316,8 @@ int unir(int *res, int rows, int tipo) } case 3: { + thrust::device_ptr pt3, re3; + s3 *t3; t3 = (s3*)res; pt3 = thrust::device_pointer_cast(t3); flag = 0; @@ -191,6 +340,113 @@ int unir(int *res, int rows, int tipo) iVec.shrink_to_fit(); return nrows; } + case 4: + { + thrust::device_ptr pt4, re4; + s4 *t4; + t4 = (s4*)res; + pt4 = thrust::device_pointer_cast(t4); + flag = 0; + while(flag != 1) + { + try + { + thrust::sort(pt4, pt4 + rows, o4()); + re4 = thrust::unique(pt4, pt4 + rows, p4()); + flag = 1; + } + catch(std::bad_alloc &e) + { + limpiar("sort/unique in unir", 0); + } + } + nrows = thrust::distance(pt4, re4); + thrust::device_vector iVec(pt4, pt4 + rows); + iVec.resize(nrows); + iVec.shrink_to_fit(); + return nrows; + } + case 5: + { + thrust::device_ptr pt5, re5; + s5 *t5; + t5 = (s5*)res; + pt5 = thrust::device_pointer_cast(t5); + flag = 0; + while(flag != 1) + { + try + { + thrust::sort(pt5, pt5 + rows, o5()); + re5 = thrust::unique(pt5, pt5 + rows, p5()); + flag = 1; + } + catch(std::bad_alloc &e) + { + limpiar("sort/unique in unir", 0); + } + } + nrows = thrust::distance(pt5, re5); + thrust::device_vector iVec(pt5, pt5 + rows); + iVec.resize(nrows); + iVec.shrink_to_fit(); + return nrows; + } + case 6: + { + thrust::device_ptr pt6, re6; + s6 *t6; + t6 = (s6*)res; + pt6 = thrust::device_pointer_cast(t6); + flag = 0; + while(flag != 1) + { + try + { + thrust::sort(pt6, pt6 + rows, o6()); + re6 = thrust::unique(pt6, pt6 + rows, p6()); + flag = 1; + } + catch(std::bad_alloc &e) + { + limpiar("sort/unique in unir", 0); + } + } + nrows = thrust::distance(pt6, re6); + thrust::device_vector iVec(pt6, pt6 + rows); + iVec.resize(nrows); + iVec.shrink_to_fit(); + return nrows; + } + case 7: + { + thrust::device_ptr pt7, re7; + s7 *t7; + t7 = (s7*)res; + pt7 = thrust::device_pointer_cast(t7); + flag = 0; + while(flag != 1) + { + try + { + thrust::sort(pt7, pt7 + rows, o7()); + re7 = thrust::unique(pt7, pt7 + rows, p7()); + flag = 1; + } + catch(std::bad_alloc &e) + { + limpiar("sort/unique in unir", 0); + } + } + nrows = thrust::distance(pt7, re7); + thrust::device_vector iVec(pt7, pt7 + rows); + iVec.resize(nrows); + iVec.shrink_to_fit(); + return nrows; + } + default: + cerr << "Union: " << tipo << " columns are too many." << endl; + exit(1); } return 0; } diff --git a/library/gecode/3.6.0/gecode-version.txt b/packages/gecode/3.6.0/gecode-version.txt similarity index 100% rename from library/gecode/3.6.0/gecode-version.txt rename to packages/gecode/3.6.0/gecode-version.txt diff --git a/library/gecode/3.6.0/gecode_yap_auto_generated.yap b/packages/gecode/3.6.0/gecode_yap_auto_generated.yap similarity index 100% rename from library/gecode/3.6.0/gecode_yap_auto_generated.yap rename to packages/gecode/3.6.0/gecode_yap_auto_generated.yap diff --git a/library/gecode/3.6.0/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/3.6.0/gecode_yap_cc_forward_auto_generated.icc similarity index 100% rename from library/gecode/3.6.0/gecode_yap_cc_forward_auto_generated.icc rename to packages/gecode/3.6.0/gecode_yap_cc_forward_auto_generated.icc diff --git a/library/gecode/3.6.0/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/3.6.0/gecode_yap_cc_impl_auto_generated.icc similarity index 100% rename from library/gecode/3.6.0/gecode_yap_cc_impl_auto_generated.icc rename to packages/gecode/3.6.0/gecode_yap_cc_impl_auto_generated.icc diff --git a/library/gecode/3.6.0/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/3.6.0/gecode_yap_cc_init_auto_generated.icc similarity index 100% rename from library/gecode/3.6.0/gecode_yap_cc_init_auto_generated.icc rename to packages/gecode/3.6.0/gecode_yap_cc_init_auto_generated.icc diff --git a/library/gecode/3.7.0/gecode-version.txt b/packages/gecode/3.7.0/gecode-version.txt similarity index 100% rename from library/gecode/3.7.0/gecode-version.txt rename to packages/gecode/3.7.0/gecode-version.txt diff --git a/library/gecode/3.7.0/gecode_yap_auto_generated.yap b/packages/gecode/3.7.0/gecode_yap_auto_generated.yap similarity index 100% rename from library/gecode/3.7.0/gecode_yap_auto_generated.yap rename to packages/gecode/3.7.0/gecode_yap_auto_generated.yap diff --git a/library/gecode/3.7.0/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/3.7.0/gecode_yap_cc_forward_auto_generated.icc similarity index 100% rename from library/gecode/3.7.0/gecode_yap_cc_forward_auto_generated.icc rename to packages/gecode/3.7.0/gecode_yap_cc_forward_auto_generated.icc diff --git a/library/gecode/3.7.0/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/3.7.0/gecode_yap_cc_impl_auto_generated.icc similarity index 100% rename from library/gecode/3.7.0/gecode_yap_cc_impl_auto_generated.icc rename to packages/gecode/3.7.0/gecode_yap_cc_impl_auto_generated.icc diff --git a/library/gecode/3.7.0/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/3.7.0/gecode_yap_cc_init_auto_generated.icc similarity index 100% rename from library/gecode/3.7.0/gecode_yap_cc_init_auto_generated.icc rename to packages/gecode/3.7.0/gecode_yap_cc_init_auto_generated.icc diff --git a/library/gecode/3.7.1/gecode-version.txt b/packages/gecode/3.7.1/gecode-version.txt similarity index 100% rename from library/gecode/3.7.1/gecode-version.txt rename to packages/gecode/3.7.1/gecode-version.txt diff --git a/library/gecode/3.7.1/gecode_yap_auto_generated.yap b/packages/gecode/3.7.1/gecode_yap_auto_generated.yap similarity index 100% rename from library/gecode/3.7.1/gecode_yap_auto_generated.yap rename to packages/gecode/3.7.1/gecode_yap_auto_generated.yap diff --git a/library/gecode/3.7.1/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/3.7.1/gecode_yap_cc_forward_auto_generated.icc similarity index 100% rename from library/gecode/3.7.1/gecode_yap_cc_forward_auto_generated.icc rename to packages/gecode/3.7.1/gecode_yap_cc_forward_auto_generated.icc diff --git a/library/gecode/3.7.1/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/3.7.1/gecode_yap_cc_impl_auto_generated.icc similarity index 100% rename from library/gecode/3.7.1/gecode_yap_cc_impl_auto_generated.icc rename to packages/gecode/3.7.1/gecode_yap_cc_impl_auto_generated.icc diff --git a/library/gecode/3.7.1/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/3.7.1/gecode_yap_cc_init_auto_generated.icc similarity index 100% rename from library/gecode/3.7.1/gecode_yap_cc_init_auto_generated.icc rename to packages/gecode/3.7.1/gecode_yap_cc_init_auto_generated.icc diff --git a/library/gecode/3.7.2/gecode-version.txt b/packages/gecode/3.7.2/gecode-version.txt similarity index 100% rename from library/gecode/3.7.2/gecode-version.txt rename to packages/gecode/3.7.2/gecode-version.txt diff --git a/library/gecode/3.7.2/gecode_yap_auto_generated.yap b/packages/gecode/3.7.2/gecode_yap_auto_generated.yap similarity index 100% rename from library/gecode/3.7.2/gecode_yap_auto_generated.yap rename to packages/gecode/3.7.2/gecode_yap_auto_generated.yap diff --git a/library/gecode/3.7.2/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/3.7.2/gecode_yap_cc_forward_auto_generated.icc similarity index 100% rename from library/gecode/3.7.2/gecode_yap_cc_forward_auto_generated.icc rename to packages/gecode/3.7.2/gecode_yap_cc_forward_auto_generated.icc diff --git a/library/gecode/3.7.2/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/3.7.2/gecode_yap_cc_impl_auto_generated.icc similarity index 100% rename from library/gecode/3.7.2/gecode_yap_cc_impl_auto_generated.icc rename to packages/gecode/3.7.2/gecode_yap_cc_impl_auto_generated.icc diff --git a/library/gecode/3.7.2/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/3.7.2/gecode_yap_cc_init_auto_generated.icc similarity index 100% rename from library/gecode/3.7.2/gecode_yap_cc_init_auto_generated.icc rename to packages/gecode/3.7.2/gecode_yap_cc_init_auto_generated.icc diff --git a/library/gecode/3.7.3/gecode-version.txt b/packages/gecode/3.7.3/gecode-version.txt similarity index 100% rename from library/gecode/3.7.3/gecode-version.txt rename to packages/gecode/3.7.3/gecode-version.txt diff --git a/library/gecode/3.7.3/gecode_yap_auto_generated.yap b/packages/gecode/3.7.3/gecode_yap_auto_generated.yap similarity index 100% rename from library/gecode/3.7.3/gecode_yap_auto_generated.yap rename to packages/gecode/3.7.3/gecode_yap_auto_generated.yap diff --git a/library/gecode/3.7.3/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/3.7.3/gecode_yap_cc_forward_auto_generated.icc similarity index 100% rename from library/gecode/3.7.3/gecode_yap_cc_forward_auto_generated.icc rename to packages/gecode/3.7.3/gecode_yap_cc_forward_auto_generated.icc diff --git a/library/gecode/3.7.3/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/3.7.3/gecode_yap_cc_impl_auto_generated.icc similarity index 100% rename from library/gecode/3.7.3/gecode_yap_cc_impl_auto_generated.icc rename to packages/gecode/3.7.3/gecode_yap_cc_impl_auto_generated.icc diff --git a/library/gecode/3.7.3/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/3.7.3/gecode_yap_cc_init_auto_generated.icc similarity index 100% rename from library/gecode/3.7.3/gecode_yap_cc_init_auto_generated.icc rename to packages/gecode/3.7.3/gecode_yap_cc_init_auto_generated.icc diff --git a/library/gecode/4.0.0/gecode-version.txt b/packages/gecode/4.0.0/gecode-version.txt similarity index 100% rename from library/gecode/4.0.0/gecode-version.txt rename to packages/gecode/4.0.0/gecode-version.txt diff --git a/library/gecode/4.0.0/gecode_yap_auto_generated.yap b/packages/gecode/4.0.0/gecode_yap_auto_generated.yap similarity index 100% rename from library/gecode/4.0.0/gecode_yap_auto_generated.yap rename to packages/gecode/4.0.0/gecode_yap_auto_generated.yap diff --git a/library/gecode/4.0.0/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/4.0.0/gecode_yap_cc_forward_auto_generated.icc similarity index 100% rename from library/gecode/4.0.0/gecode_yap_cc_forward_auto_generated.icc rename to packages/gecode/4.0.0/gecode_yap_cc_forward_auto_generated.icc diff --git a/library/gecode/4.0.0/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/4.0.0/gecode_yap_cc_impl_auto_generated.icc similarity index 100% rename from library/gecode/4.0.0/gecode_yap_cc_impl_auto_generated.icc rename to packages/gecode/4.0.0/gecode_yap_cc_impl_auto_generated.icc diff --git a/library/gecode/4.0.0/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/4.0.0/gecode_yap_cc_init_auto_generated.icc similarity index 100% rename from library/gecode/4.0.0/gecode_yap_cc_init_auto_generated.icc rename to packages/gecode/4.0.0/gecode_yap_cc_init_auto_generated.icc diff --git a/library/gecode/4.2.0/gecode-version.txt b/packages/gecode/4.2.0/gecode-version.txt similarity index 100% rename from library/gecode/4.2.0/gecode-version.txt rename to packages/gecode/4.2.0/gecode-version.txt diff --git a/library/gecode/4.2.0/gecode_yap_auto_generated.yap b/packages/gecode/4.2.0/gecode_yap_auto_generated.yap similarity index 100% rename from library/gecode/4.2.0/gecode_yap_auto_generated.yap rename to packages/gecode/4.2.0/gecode_yap_auto_generated.yap diff --git a/library/gecode/4.2.0/gecode_yap_cc_forward_auto_generated.icc b/packages/gecode/4.2.0/gecode_yap_cc_forward_auto_generated.icc similarity index 100% rename from library/gecode/4.2.0/gecode_yap_cc_forward_auto_generated.icc rename to packages/gecode/4.2.0/gecode_yap_cc_forward_auto_generated.icc diff --git a/library/gecode/4.2.0/gecode_yap_cc_impl_auto_generated.icc b/packages/gecode/4.2.0/gecode_yap_cc_impl_auto_generated.icc similarity index 100% rename from library/gecode/4.2.0/gecode_yap_cc_impl_auto_generated.icc rename to packages/gecode/4.2.0/gecode_yap_cc_impl_auto_generated.icc diff --git a/library/gecode/4.2.0/gecode_yap_cc_init_auto_generated.icc b/packages/gecode/4.2.0/gecode_yap_cc_init_auto_generated.icc similarity index 100% rename from library/gecode/4.2.0/gecode_yap_cc_init_auto_generated.icc rename to packages/gecode/4.2.0/gecode_yap_cc_init_auto_generated.icc diff --git a/library/gecode/DOC.txt b/packages/gecode/DOC.txt similarity index 100% rename from library/gecode/DOC.txt rename to packages/gecode/DOC.txt diff --git a/library/gecode/Makefile.in b/packages/gecode/Makefile.in similarity index 100% rename from library/gecode/Makefile.in rename to packages/gecode/Makefile.in diff --git a/library/gecode/Makefile.sav b/packages/gecode/Makefile.sav similarity index 100% rename from library/gecode/Makefile.sav rename to packages/gecode/Makefile.sav diff --git a/library/gecode/README b/packages/gecode/README similarity index 100% rename from library/gecode/README rename to packages/gecode/README diff --git a/library/gecode/clp_examples/3jugs.yap b/packages/gecode/clp_examples/3jugs.yap similarity index 100% rename from library/gecode/clp_examples/3jugs.yap rename to packages/gecode/clp_examples/3jugs.yap diff --git a/library/gecode/clp_examples/photo.yap b/packages/gecode/clp_examples/photo.yap similarity index 100% rename from library/gecode/clp_examples/photo.yap rename to packages/gecode/clp_examples/photo.yap diff --git a/library/gecode/clp_examples/queens.yap b/packages/gecode/clp_examples/queens.yap similarity index 100% rename from library/gecode/clp_examples/queens.yap rename to packages/gecode/clp_examples/queens.yap diff --git a/library/gecode/clp_examples/send_more_money.yap b/packages/gecode/clp_examples/send_more_money.yap similarity index 100% rename from library/gecode/clp_examples/send_more_money.yap rename to packages/gecode/clp_examples/send_more_money.yap diff --git a/library/gecode/clp_examples/send_most_money.yap b/packages/gecode/clp_examples/send_most_money.yap similarity index 100% rename from library/gecode/clp_examples/send_most_money.yap rename to packages/gecode/clp_examples/send_most_money.yap diff --git a/library/gecode/clp_examples/sudoku.yap b/packages/gecode/clp_examples/sudoku.yap similarity index 100% rename from library/gecode/clp_examples/sudoku.yap rename to packages/gecode/clp_examples/sudoku.yap diff --git a/library/gecode/clp_examples/test.yap b/packages/gecode/clp_examples/test.yap similarity index 100% rename from library/gecode/clp_examples/test.yap rename to packages/gecode/clp_examples/test.yap diff --git a/library/gecode/clpfd.yap b/packages/gecode/clpfd.yap similarity index 100% rename from library/gecode/clpfd.yap rename to packages/gecode/clpfd.yap diff --git a/packages/gecode/configure.in b/packages/gecode/configure.in new file mode 100644 index 000000000..2f2d2d499 --- /dev/null +++ b/packages/gecode/configure.in @@ -0,0 +1,87 @@ +dnl Gecode support + +dnl gecode is usually in /usr/local +if test -d /usr/local/include/gecode; then + CFLAGS="$CFLAGS -I/usr/local/include" + SHLIB_CXXFLAGS="$SHLIB_CXXFLAGS -I/usr/local/include" + GECODE_EXTRALIBS="-L/usr/local/lib" +fi + +AC_CHECK_HEADER(gecode/support/config.hpp, + have_gecode=yes, have_gecode=no) + +AC_ARG_ENABLE(gecode, + [ --enable-gecode install gecode library], + [use_gecode="$enableval" + if test "$use_gecode" = yes; then + if test "$have_gecode" = no; then + AC_MSG_ERROR([cannot enable gecode: gecode library not found]) + fi + fi], use_gecode=$have_gecode) + +if test "$use_gecode" = no; then + ENABLE_GECODE="@# " +else + ENABLE_GECODE="" +fi +AC_SUBST(ENABLE_GECODE) + +AC_MSG_CHECKING([if dynamic arrays are supported]) + +AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[void foo(int n) { int a[n]; a[1]=0; }]],[[foo(3);]]) + ],[ + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_DYNARRAY],[1],[Define if dynamic arrays are supported]) + ],[ + AC_MSG_RESULT([no]) + ]) + +GECODE_VERSION=unknown-gecode-version + + +if test "$use_gecode" = yes; then + AC_MSG_CHECKING([gecode version]) + AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include "gecode/support/config.hpp" +#include +]],[[ + FILE* out = fopen("conftest.out","w"); + fprintf(out,"%s\n",GECODE_VERSION); + fclose(out); + return 0; +]])],[GECODE_VERSION=$(cat conftest.out) + AC_MSG_RESULT([$GECODE_VERSION])], + [AC_MSG_ERROR([cannot determine gecode version])]) + case "$target_os" in + *darwin*) + AC_MSG_CHECKING([if -framework gecode is required]) + AC_LANG_PUSH([C++]) + saved_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -framework gecode" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include "gecode/int.hh" +]],[[ +Gecode::Exception e("",""); +return 0; +]])],[GECODE_EXTRALIBS="-framework gecode" + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + AC_LANG_POP() + CXXFLAGS="$saved_CXXFLAGS" + ;; + esac +fi + +GECODE_MAJOR=`echo $GECODE_VERSION| sed 's/\(^.\).*/\1/'` + +AC_SUBST(GECODE_MAJOR) + +if test "$GECODE_MAJOR" = "3"; then + GECODE_EXTRALIBS="$GECODE_EXTRALIBS -lgecodesupport -lgecodekernel -lgecodeint -lgecodeset -lgecodesearch" +else + GECODE_EXTRALIBS="$GECODE_EXTRALIBS -lgecodesupport -lgecodekernel -lgecodefloat -lgecodeint -lgecodeset -lgecodesearch" +fi + +AC_SUBST(GECODE_VERSION) +AC_SUBST(GECODE_EXTRALIBS) diff --git a/library/gecode/dev/Makefile b/packages/gecode/dev/Makefile similarity index 100% rename from library/gecode/dev/Makefile rename to packages/gecode/dev/Makefile diff --git a/library/gecode/dev/code-generator.py b/packages/gecode/dev/code-generator.py similarity index 100% rename from library/gecode/dev/code-generator.py rename to packages/gecode/dev/code-generator.py diff --git a/library/gecode/dev/extractor/Doxyfile.in b/packages/gecode/dev/extractor/Doxyfile.in similarity index 100% rename from library/gecode/dev/extractor/Doxyfile.in rename to packages/gecode/dev/extractor/Doxyfile.in diff --git a/library/gecode/dev/extractor/Makefile b/packages/gecode/dev/extractor/Makefile similarity index 100% rename from library/gecode/dev/extractor/Makefile rename to packages/gecode/dev/extractor/Makefile diff --git a/library/gecode/dev/extractor/README b/packages/gecode/dev/extractor/README similarity index 100% rename from library/gecode/dev/extractor/README rename to packages/gecode/dev/extractor/README diff --git a/library/gecode/dev/extractor/extract-enums.xsl b/packages/gecode/dev/extractor/extract-enums.xsl similarity index 100% rename from library/gecode/dev/extractor/extract-enums.xsl rename to packages/gecode/dev/extractor/extract-enums.xsl diff --git a/library/gecode/dev/extractor/extract-prototypes.xsl b/packages/gecode/dev/extractor/extract-prototypes.xsl similarity index 100% rename from library/gecode/dev/extractor/extract-prototypes.xsl rename to packages/gecode/dev/extractor/extract-prototypes.xsl diff --git a/library/gecode/dev/extractor/gecodedir.hh b/packages/gecode/dev/extractor/gecodedir.hh similarity index 100% rename from library/gecode/dev/extractor/gecodedir.hh rename to packages/gecode/dev/extractor/gecodedir.hh diff --git a/library/gecode/dev/extractor/notice.hh b/packages/gecode/dev/extractor/notice.hh similarity index 100% rename from library/gecode/dev/extractor/notice.hh rename to packages/gecode/dev/extractor/notice.hh diff --git a/library/gecode/dev/extractor/notice.py b/packages/gecode/dev/extractor/notice.py similarity index 100% rename from library/gecode/dev/extractor/notice.py rename to packages/gecode/dev/extractor/notice.py diff --git a/library/gecode/dev/gecode-enums-3.6.0.py b/packages/gecode/dev/gecode-enums-3.6.0.py similarity index 100% rename from library/gecode/dev/gecode-enums-3.6.0.py rename to packages/gecode/dev/gecode-enums-3.6.0.py diff --git a/library/gecode/dev/gecode-enums-3.7.0.py b/packages/gecode/dev/gecode-enums-3.7.0.py similarity index 100% rename from library/gecode/dev/gecode-enums-3.7.0.py rename to packages/gecode/dev/gecode-enums-3.7.0.py diff --git a/library/gecode/dev/gecode-enums-3.7.1.py b/packages/gecode/dev/gecode-enums-3.7.1.py similarity index 100% rename from library/gecode/dev/gecode-enums-3.7.1.py rename to packages/gecode/dev/gecode-enums-3.7.1.py diff --git a/library/gecode/dev/gecode-enums-3.7.2.py b/packages/gecode/dev/gecode-enums-3.7.2.py similarity index 100% rename from library/gecode/dev/gecode-enums-3.7.2.py rename to packages/gecode/dev/gecode-enums-3.7.2.py diff --git a/library/gecode/dev/gecode-enums-3.7.3.py b/packages/gecode/dev/gecode-enums-3.7.3.py similarity index 100% rename from library/gecode/dev/gecode-enums-3.7.3.py rename to packages/gecode/dev/gecode-enums-3.7.3.py diff --git a/library/gecode/dev/gecode-enums-4.0.0.py b/packages/gecode/dev/gecode-enums-4.0.0.py similarity index 100% rename from library/gecode/dev/gecode-enums-4.0.0.py rename to packages/gecode/dev/gecode-enums-4.0.0.py diff --git a/library/gecode/dev/gecode-enums-4.2.0.py b/packages/gecode/dev/gecode-enums-4.2.0.py similarity index 100% rename from library/gecode/dev/gecode-enums-4.2.0.py rename to packages/gecode/dev/gecode-enums-4.2.0.py diff --git a/library/gecode/dev/gecode-prototypes-3.6.0.hh b/packages/gecode/dev/gecode-prototypes-3.6.0.hh similarity index 100% rename from library/gecode/dev/gecode-prototypes-3.6.0.hh rename to packages/gecode/dev/gecode-prototypes-3.6.0.hh diff --git a/library/gecode/dev/gecode-prototypes-3.7.0.hh b/packages/gecode/dev/gecode-prototypes-3.7.0.hh similarity index 100% rename from library/gecode/dev/gecode-prototypes-3.7.0.hh rename to packages/gecode/dev/gecode-prototypes-3.7.0.hh diff --git a/library/gecode/dev/gecode-prototypes-3.7.1.hh b/packages/gecode/dev/gecode-prototypes-3.7.1.hh similarity index 100% rename from library/gecode/dev/gecode-prototypes-3.7.1.hh rename to packages/gecode/dev/gecode-prototypes-3.7.1.hh diff --git a/library/gecode/dev/gecode-prototypes-3.7.2.hh b/packages/gecode/dev/gecode-prototypes-3.7.2.hh similarity index 100% rename from library/gecode/dev/gecode-prototypes-3.7.2.hh rename to packages/gecode/dev/gecode-prototypes-3.7.2.hh diff --git a/library/gecode/dev/gecode-prototypes-3.7.3.hh b/packages/gecode/dev/gecode-prototypes-3.7.3.hh similarity index 100% rename from library/gecode/dev/gecode-prototypes-3.7.3.hh rename to packages/gecode/dev/gecode-prototypes-3.7.3.hh diff --git a/library/gecode/dev/gecode-prototypes-4.0.0.hh b/packages/gecode/dev/gecode-prototypes-4.0.0.hh similarity index 100% rename from library/gecode/dev/gecode-prototypes-4.0.0.hh rename to packages/gecode/dev/gecode-prototypes-4.0.0.hh diff --git a/library/gecode/dev/gecode-prototypes-4.2.0.hh b/packages/gecode/dev/gecode-prototypes-4.2.0.hh similarity index 100% rename from library/gecode/dev/gecode-prototypes-4.2.0.hh rename to packages/gecode/dev/gecode-prototypes-4.2.0.hh diff --git a/library/gecode/disjunctor.hh b/packages/gecode/disjunctor.hh similarity index 100% rename from library/gecode/disjunctor.hh rename to packages/gecode/disjunctor.hh diff --git a/library/gecode/disjunctor.icc b/packages/gecode/disjunctor.icc similarity index 100% rename from library/gecode/disjunctor.icc rename to packages/gecode/disjunctor.icc diff --git a/library/gecode/disjunctor1.yap b/packages/gecode/disjunctor1.yap similarity index 100% rename from library/gecode/disjunctor1.yap rename to packages/gecode/disjunctor1.yap diff --git a/library/gecode/disjunctor2.yap b/packages/gecode/disjunctor2.yap similarity index 100% rename from library/gecode/disjunctor2.yap rename to packages/gecode/disjunctor2.yap diff --git a/library/gecode/examples/photo.yap b/packages/gecode/examples/photo.yap similarity index 100% rename from library/gecode/examples/photo.yap rename to packages/gecode/examples/photo.yap diff --git a/library/gecode/examples/queens.yap b/packages/gecode/examples/queens.yap similarity index 100% rename from library/gecode/examples/queens.yap rename to packages/gecode/examples/queens.yap diff --git a/library/gecode/examples/send_more_money.yap b/packages/gecode/examples/send_more_money.yap similarity index 100% rename from library/gecode/examples/send_more_money.yap rename to packages/gecode/examples/send_more_money.yap diff --git a/library/gecode/examples/send_most_money.yap b/packages/gecode/examples/send_most_money.yap similarity index 100% rename from library/gecode/examples/send_most_money.yap rename to packages/gecode/examples/send_most_money.yap diff --git a/library/gecode/gecode3-common.icc b/packages/gecode/gecode3-common.icc similarity index 100% rename from library/gecode/gecode3-common.icc rename to packages/gecode/gecode3-common.icc diff --git a/library/gecode/gecode3_yap.cc b/packages/gecode/gecode3_yap.cc similarity index 100% rename from library/gecode/gecode3_yap.cc rename to packages/gecode/gecode3_yap.cc diff --git a/library/gecode/gecode3_yap_hand_written.yap b/packages/gecode/gecode3_yap_hand_written.yap similarity index 100% rename from library/gecode/gecode3_yap_hand_written.yap rename to packages/gecode/gecode3_yap_hand_written.yap diff --git a/library/gecode/gecode4-common.icc b/packages/gecode/gecode4-common.icc similarity index 100% rename from library/gecode/gecode4-common.icc rename to packages/gecode/gecode4-common.icc diff --git a/library/gecode/gecode4_yap.cc b/packages/gecode/gecode4_yap.cc similarity index 99% rename from library/gecode/gecode4_yap.cc rename to packages/gecode/gecode4_yap.cc index 077145c3e..69a6c1ee1 100644 --- a/library/gecode/gecode4_yap.cc +++ b/packages/gecode/gecode4_yap.cc @@ -1656,7 +1656,8 @@ extern "C" int s0 = YAP_IntOfTerm(t2); YAP_Term t3 = YAP_ARG3; int n = gecode_list_length(t3), i=0; - DFA::Transition t[n]; + DFA::Transition t[1024]; + if (n > 1024) cerr<< "DFA too long" << endl; while (YAP_IsPairTerm( t3 ) ) { YAP_Term tt = YAP_HeadOfTerm(t3); int is, sy, os; diff --git a/library/gecode/gecode4_yap_hand_written.yap b/packages/gecode/gecode4_yap_hand_written.yap similarity index 100% rename from library/gecode/gecode4_yap_hand_written.yap rename to packages/gecode/gecode4_yap_hand_written.yap diff --git a/packages/jpl b/packages/jpl index a083f3166..2abb5144e 160000 --- a/packages/jpl +++ b/packages/jpl @@ -1 +1 @@ -Subproject commit a083f316690c066659cf3e4e40b0c093e85dc57f +Subproject commit 2abb5144e3195ed5a54e43e6749d48959318bda6 diff --git a/packages/odbc b/packages/odbc index d9a8cdd6a..db1645c12 160000 --- a/packages/odbc +++ b/packages/odbc @@ -1 +1 @@ -Subproject commit d9a8cdd6ac472fa2338f7d66cc18e5e21f0ed94c +Subproject commit db1645c121c478e0634e6d944b180d4378fcf4dc diff --git a/packages/python/configure.in b/packages/python/configure.in new file mode 100644 index 000000000..467df9856 --- /dev/null +++ b/packages/python/configure.in @@ -0,0 +1,41 @@ +AC_ARG_WITH(python, + [ --with-python[=DIR] interface to R language], + if test "$withval" = yes; then + yap_cv_python=yes + elif test "$withval" = no; then + yap_cv_python=no + else + yap_cv_python=$withval + fi, + [yap_cv_python=no]) + +if test "$yap_cv_python" = "no"; then + PYTHON_TARGET="dummy" + ENABLE_PYTHON="@# " +elif test -e "$srcdir"/packages/python/Makefile.in ; then + PYTHON_TARGET="pitf" + ENABLE_PYTHON="" + if test "$yap_cv_python" = "yes" + then + AC_CHECK_PROGS(PYTHON, python, "none") + else + PYTHON="$yap_cv_python" + fi + PYTHONHOME=`$PYTHON -c'import sys; print sys.prefix'` + PYTHONVERSION=`"$PYTHON" -c "import sys; print sys.version[[:3]]"` + PYTHON_LIBS="-L $PYTHONHOME/lib -lpython$PYTHONVERSION" + PYTHON_INCLUDES="-I $PYTHONHOME/include/python$PYTHONVERSION" +else + PYTHON_TARGET="dummy" + ENABLE_PYTHON="@# " +fi + +AC_SUBST(PYTHON_TARGET) +AC_SUBST(ENABLE_PYTHON) +AC_SUBST(PYTHON_INCLUDES) +AC_SUBST(PYTHON_LIBS) + +if test "$ENABLE_PYTHON" = ""; then +AC_CONFIG_FILES([ packages/python/Makefile ]) +fi + diff --git a/packages/real b/packages/real index 4d335368d..3dc65d550 160000 --- a/packages/real +++ b/packages/real @@ -1 +1 @@ -Subproject commit 4d335368d3f6dac797a100be5c72e64a22849383 +Subproject commit 3dc65d55028abd365862ae6c9eccaab90148afc6 diff --git a/packages/zlib b/packages/zlib index 5aadeb5be..044e8b33b 160000 --- a/packages/zlib +++ b/packages/zlib @@ -1 +1 @@ -Subproject commit 5aadeb5be3abe8169ab5c3824569f0cfea857faa +Subproject commit 044e8b33bfe3158463141add5bb9ce5e71cb7451 diff --git a/pl/boot.yap b/pl/boot.yap index 34b2e0f95..0f6ec607d 100755 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -18,13 +18,6 @@ % % % -c(G, C, A) :- - '$$save_by'(CP0), - '$execute'(G), - '$$save_by'(CP1), - (CP0 == CP1 -> !; true ). - - true :- true. '$live' :- @@ -61,9 +54,9 @@ true :- true. ), ( '$access_yap_flags'(22, 0) -> - set_value('$verbose',on) + '$swi_set_prolog_flag'(verbose, normal) ; - set_value('$verbose',off) + '$swi_set_prolog_flag'(verbose, silent) ), % '$init_preds', % needs to be done before library_directory % ( @@ -107,13 +100,10 @@ true :- true. '$init_consult' :- set_value('$open_expands_filename',true), - set_value('$lf_verbose',informational), nb_setval('$assert_all',off), nb_setval('$if_level',0), nb_setval('$endif',off), - nb_setval('$consulting_file',[]), - nb_setval('$initialization_goals',off), - nb_setval('$consulting',false), + nb_setval('$initialization_goals',off), nb_setval('$included_file',[]), \+ '$undefined'('$init_preds',prolog), '$init_preds', @@ -995,11 +985,11 @@ not(G) :- \+ '$execute'(G). '$silent_bootstrap'(F) :- '$init_globals', nb_setval('$if_level',0), - get_value('$lf_verbose',OldSilent), - set_value('$lf_verbose',silent), + '$swi_current_prolog_flag'(verbose_load, OldSilent), + '$swi_set_prolog_flag'(verbose_load, silent), bootstrap(F), % -p option must be processed after initializing the system - set_value('$lf_verbose', OldSilent). + '$swi_set_prolog_flag'(verbose_load, OldSilent). bootstrap(F) :- % '$open'(F, '$csult', Stream, 0, 0, F), @@ -1010,7 +1000,7 @@ bootstrap(F) :- file_directory_name(File, Dir), working_directory(OldD, Dir), ( - get_value('$lf_verbose',silent) + '$swi_current_prolog_flag'(verbose_load, silent) -> true ; @@ -1021,7 +1011,7 @@ bootstrap(F) :- working_directory(_, OldD), '$end_consult', ( - get_value('$lf_verbose',silent) + '$swi_current_prolog_flag'(verbose_load, silent) -> true ; diff --git a/pl/checker.yap b/pl/checker.yap index cccb97f85..0ac0eeab1 100644 --- a/pl/checker.yap +++ b/pl/checker.yap @@ -166,7 +166,7 @@ no_style_check([H|T]) :- no_style_check(H), no_style_check(T). ; get_value('$syntaxcheckmultiple',on) ), - nb_getval('$consulting_file',File), + source_location( File, _ ), '$xtract_head'(T,M,NM,_,F,A), \+ ( % allow duplicates if we are not the last predicate to have @@ -233,7 +233,7 @@ no_style_check([H|T]) :- no_style_check(H), no_style_check(T). '$handle_discontiguous'((:-),1,_) :- !, fail. '$handle_discontiguous'(F,A,M) :- - nb_getval('$consulting_file', FileName), + source_location( FileName, _ ), % we have been there before once(recorded('$predicate_defs','$predicate_defs'(F, A, M, FileName),_)), % and we are not @@ -247,11 +247,11 @@ no_style_check([H|T]) :- no_style_check(H), no_style_check(T). % never complain the second time '$handle_multiple'(F,A,M) :- - nb_getval('$consulting_file', FileName), + source_location(FileName, _), recorded('$predicate_defs','$predicate_defs'(F,A,M,FileName),_), !. % first time we have a definition '$handle_multiple'(F,A,M) :- - nb_getval('$consulting_file', FileName0), + source_location(FileName0, _), recorded('$predicate_defs','$predicate_defs'(F,A,M,FileName),_), FileName \= FileName0, '$multiple_has_been_defined'(FileName, F/A, M), !. @@ -259,7 +259,7 @@ no_style_check([H|T]) :- no_style_check(H), no_style_check(T). % be careful about these cases. % consult does not count '$multiple_has_been_defined'(_, _, _) :- - nb_getval('$consulting',true), !. + '$nb_getval'('$consulting_file', _, fail), !. % multifile does not count '$multiple_has_been_defined'(_, F/A, M) :- functor(S, F, A), @@ -334,7 +334,7 @@ discontiguous(F) :- % '$check_multifile_pred'(Hd, M, _) :- functor(Hd,Na,Ar), - nb_getval('$consulting_file',F), + source_location(F, _), recorded('$multifile_defs','$defined'(F,Na,Ar,M),_), !. % oops, we did not. '$check_multifile_pred'(Hd, M, Fl) :- diff --git a/pl/consult.yap b/pl/consult.yap index fd7101f45..402bd5910 100755 --- a/pl/consult.yap +++ b/pl/consult.yap @@ -20,7 +20,7 @@ % autoload(true,false) % derived_from(File) -> make % encoding(Encoding) => implemented -% expand({true,false) + % expand(true,false) % if(changed,true,not_loaded) => implemented % imports(all,List) => implemented % qcompile(true,false) @@ -28,157 +28,205 @@ % stream(Stream) => implemented % consult(consult,reconsult,exo,db) => implemented % compilation_mode(compact,source,assert_all) => implemented +% register(true, false) => implemented % load_files(Files,Opts) :- '$load_files'(Files,Opts,load_files(Files,Opts)). -'$load_files'(Files,Opts,Call) :- +'$lf_opt'(autoload, 1). +'$lf_opt'(derived_from). +'$lf_opt'(encoding, 3). +'$lf_opt'(expand, 4). +'$lf_opt'(if, 5). +'$lf_opt'(imports, 6). +'$lf_opt'(qcompile, 7). +'$lf_opt'(silent, 8). +'$lf_opt'(skip_unix_header, 9). +'$lf_opt'(compilation_mode, 10). +'$lf_opt'(consult, 11). +'$lf_opt'(stream, 12). +'$lf_opt'(register, 13). +'$lf_opt'('$files', 14). +'$lf_opt'('$call', 15). +'$lf_opt'('$use_module', 16). +'$lf_opt'('$consulted_at', 17). +'$lf_opt'('$options', 18). +'$lf_opt'('$location', 19). +'$lf_opt'(last_opt, 19). + +'$lf_opt'( Op, TOpts, Val) :- + '$lf_opt'(Op, Id), + arg( Id, TOpts, Val ). + +'$load_files'(Files, Opts, Call) :- + ( '$nb_getval'('$lf_status', OldTOpts, fail), nonvar(OldTOpts) -> '$lf_opt'(silent, OldTOpts, OldVerbosity) ; true ), '$check_files'(Files,load_files(Files,Opts)), - '$process_lf_opts'(Opts,Silent,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,Files,Call), + '$lf_opt'(last_opt, LastOpt), + functor( TOpts, opt, LastOpt ), + ( source_location(ParentF, Line) -> true ; ParentF = user_input, Line = -1 ), + '$lf_opt'('$location', TOpts, ParentF:Line), + '$lf_opt'('$files', TOpts, Files), + '$lf_opt'('$call', TOpts, Call), + '$lf_opt'('$options', TOpts, Opts), + '$process_lf_opts'(Opts,TOpts,Files,Call), '$check_use_module'(Call,UseModule), + '$lf_opt'('$use_module', TOpts, UseModule), '$current_module'(M0), + '$lf_opt'(silent, TOpts, Verbosity), + ( var(Verbosity) -> Verbosity = OldVerbosity ; true ), % make sure we can run consult '$init_system', - '$lf'(Files,M0,Call,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,UseModule), - '$close_lf'(Silent). + '$lf'(Files, M0, Call, TOpts). -'$check_files'(Files,Call) :- +'$check_files'(Files, Call) :- var(Files), !, - '$do_error'(instantiation_error,Call). -'$check_files'(M:Files,Call) :- !, + '$do_error'(instantiation_error, Call). +'$check_files'(M:Files, Call) :- !, (var(M) -> - '$do_error'(instantiation_error,Call) + '$do_error'(instantiation_error, Call) ; atom(M) -> '$check_files'(Files,Call) ; - '$do_error'(type_error(atom,M),Call) + '$do_error'(type_error(atom,M), Call) ). -'$check_files'(Files,Call) :- - (ground(Files) +'$check_files'(Files, Call) :- + ( ground(Files) -> true ; - '$do_error'(instantiation_error,Call) + '$do_error'(instantiation_error, Call) ). - -'$process_lf_opts'(V,_,_,_,_,_,_,_,_,_,_,_,_,Call) :- +'$process_lf_opts'(V, _, _, Call) :- var(V), !, '$do_error'(instantiation_error,Call). -'$process_lf_opts'([],_,InfLevel,_,_,_,_,_,_,_,_,_,_,_). -'$process_lf_opts'([Opt|Opts],Silent,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,Files,Call) :- - '$process_lf_opt'(Opt,Silent,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,Files,Call), !, - '$process_lf_opts'(Opts,Silent,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,Files,Call). -'$process_lf_opts'([Opt|_],_,_,_,_,_,_,_,_,_,_,_,_,Call) :- +'$process_lf_opts'([], _, _, _). +'$process_lf_opts'([Opt|Opts],TOpt,Files,Call) :- + Opt =.. [Op, Val], + ground(Val), + '$lf_opt'(Op, TOpt, Val), + '$process_lf_opt'(Op, Val,Call), !, + '$process_lf_opts'(Opts, TOpt, Files, Call). +'$process_lf_opts'([Opt|_],_,_,Call) :- '$do_error'(domain_error(unimplemented_option,Opt),Call). -'$process_lf_opt'(autoload(true),Silent,InfLevel,_,_,_,_,_,_,_,_,_,_,_) :- - get_value('$verbose_auto_load',VAL), - (VAL = true -> - InfLevel = informational, - (get_value('$lf_verbose',informational) -> true ; Silent = silent), - set_value('$lf_verbose',informational) - ; - InfLevel = silent, - (get_value('$lf_verbose',silent) -> true ; Silent = informational), - set_value('$lf_verbose',silent) - ). -'$process_lf_opt'(autoload(false),_,_,_,_,_,_,_,_,_,_,_,_,_). -'$process_lf_opt'(derived_from(File),_,_,_,_,_,_,_,_,_,_,_,Files,Call) :- - ( atom(File) -> true ; '$do_error'(type_error(atom,File),Call) ), - ( atom(Files) -> true ; '$do_error'(type_error(atom,Files),Call) ), - /* call make */ - '$do_error'(domain_error(unimplemented_option,derived_from),Call). -'$process_lf_opt'(encoding(Encoding),_,_,_,_,_,_,_,_,Encoding,_,_,_,Call) :- +'$process_lf_opt'(autoload, Val, Call) :- + ( Val == false -> true ; + Val == true -> true ; + '$do_error'(domain_error(unimplemented_option,autoload(Val)),Call) ). +'$process_lf_opt'(derived_from, File, Call) :- + ( atom(File) -> true ; '$do_error'(type_error(atom,File),Call) ). +'$process_lf_opt'(encoding, Encoding, Call) :- atom(Encoding). -'$process_lf_opt'(expand(true),_,_,true,_,_,_,_,_,_,_,_,_,Call) :- - '$do_error'(domain_error(unimplemented_option,expand),Call). -'$process_lf_opt'(expand(false),_,_,false,_,_,_,_,_,_,_,_,_,_). -'$process_lf_opt'(if(changed),_,_,_,changed,_,_,_,_,_,_,_,_,_). -'$process_lf_opt'(if(true),_,_,_,true,_,_,_,_,_,_,_,_,_). -'$process_lf_opt'(if(not_loaded),_,_,_,not_loaded,_,_,_,_,_,_,_,_,_). -'$process_lf_opt'(imports(all),_,_,_,_,_,_,_,_,_,_,_,_,_). -'$process_lf_opt'(imports(Imports),_,_,_,_,_,Imports,_,_,_,_,_,_,_). -'$process_lf_opt'(qcompile(true),_,_,_,_,true,_,_,_,_,_,_,_,Call) :- - '$do_error'(domain_error(unimplemented_option,qcompile),Call). -'$process_lf_opt'(qcompile(false),_,_,_,_,false,_,_,_,_,_,_,_,_). -'$process_lf_opt'(silent(true),Silent,silent,_,_,_,_,_,_,_,_,_,_,_) :- - ( get_value('$lf_verbose',silent) -> true ; Silent = informational), - set_value('$lf_verbose',silent). -'$process_lf_opt'(silent(false),Silent,informational,_,_,_,_,_,_,_,_,_,_,_) :- - ( get_value('$lf_verbose',informational) -> true ; Silent = silent), - set_value('$lf_verbose',informational). -'$process_lf_opt'(skip_unix_comments,_,_,_,_,_,_,_,_,skip_unix_comments,_,_,_,_). -'$process_lf_opt'(compilation_mode(source),_,_,_,_,_,_,_,_,_,source,_,_,_). -'$process_lf_opt'(compilation_mode(compact),_,_,_,_,_,_,_,_,_,compact,_,_,_). -'$process_lf_opt'(compilation_mode(assert_all),_,_,_,_,_,_,_,_,_,assert_all,_,_,_). -'$process_lf_opt'(consult(reconsult),_,_,_,_,_,_,_,_,_,_,reconsult,_,_). -'$process_lf_opt'(consult(exo),_,_,_,_,_,_,_,_,_,_,exo,_,_). -'$process_lf_opt'(consult(db),_,_,_,_,_,_,_,_,_,_,db,_,_). -'$process_lf_opt'(consult(consult),_,_,_,_,_,_,_,_,_,_,consult,_,_). -'$process_lf_opt'(stream(Stream),_,_,_,_,_,_,Stream,_,_,_,_,Files,Call) :- -/* ( is_stream(Stream) -> true ; '$do_error'(domain_error(stream,Stream),Call) ), */ - ( atom(Files) -> true ; '$do_error'(type_error(atom,Files),Call) ). +'$process_lf_opt'(expand, Val, Call) :- + ( Val == true -> '$do_error'(domain_error(unimplemented_option,expand),Call) ; + Val == false -> true ; + '$do_error'(domain_error(unimplemented_option,expand(Val)),Call) ). +'$process_lf_opt'(if, If, Call) :- + ( If == changed -> true ; + If == true -> true ; + If == not_loaded -> true ; + '$do_error'(domain_error(unimplemented_option,if),Call) ). +'$process_lf_opt'(imports, Val, Call). + ( Val == all -> true ; + is_list(Val) -> true ; + '$do_error'(domain_error(unimplemented_option,imports(Val)),Call) ). +'$process_lf_opt'(qcompile, Val,Call) :- + ( Val == true -> '$do_error'(domain_error(unimplemented_option,expand),Call) ; + Val == false -> true ; + '$do_error'(domain_error(unimplemented_option,expand(Val)),Call) ). +'$process_lf_opt'(silent, Val, Call) :- + ( Val == false -> true ; + Val == true -> true ; + '$do_error'(domain_error(unimplemented_option,silent(Val)),Call) ). +'$process_lf_opt'(skip_unix_header, Val, Call) :- + ( Val == false -> true ; + Val == true -> true ; + '$do_error'(domain_error(unimplemented_option,skip_unix_header(Val)),Call) ). +'$process_lf_opt'(compilation_mode, Val, Call) :- + ( Val == source -> true ; + Val == compact -> true ; + Val == assert_all -> true ; + '$do_error'(domain_error(unimplemented_option,compilation_mode(Val)),Call) ). +'$process_lf_opt'(consult, Val , Call) :- + ( Val == reconsult -> true ; + Val == consult -> true ; + Val == exo -> true ; + Val == db -> true ; + '$do_error'(domain_error(unimplemented_option,comnsult(Val)),Call) ). +'$process_lf_opt'(stream, Val, Call) :- + ( current_stream(Val) -> true ; + '$do_error'(domain_error(unimplemented_option,stream(Val)),Call) ), + '$lf_opt'('$files', TOpts, Files), + ( atom(File) -> true ; '$do_error'(type_error(atom,Files),Call) ). +'$process_lf_opt'(register, Val, Call) :- + ( Val == false -> true ; + Val == true -> true ; + '$do_error'(domain_error(unimplemented_option,register(Val)),Call) ). -'$check_use_module'(use_module(_),use_module(_)) :- !. -'$check_use_module'(use_module(_,_),use_module(_)) :- !. -'$check_use_module'(use_module(M,_,_),use_module(M)) :- !. -'$check_use_module'(_,load_files) :- !. +'$check_use_module'(use_module(_), use_module(_)) :- !. +'$check_use_module'(use_module(_,_), use_module(_)) :- !. +'$check_use_module'(use_module(M,_,_), use_module(M)) :- !. +'$check_use_module'(_, load_files) :- !. -'$lf'(V,_,Call,_,_,_,_,_,_,_,_,_,_) :- var(V), !, +'$lf'(V,_,Call, _ ) :- var(V), !, '$do_error'(instantiation_error,Call). -'$lf'([],_,_,_,_,_,_,_,_,_,_,_,_,_) :- !. -'$lf'(M:X, _, Call,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,UseModule) :- !, +'$lf'([], _, _, _) :- !. +'$lf'(M:X, _, Call, TOpts) :- !, ( atom(M) -> - '$lf'(X, M, Call,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,UseModule) + '$lf'(X, M, Call, TOpts) ; '$do_error'(type_error(atom,M),Call) ). -'$lf'([F|Fs], Mod,Call,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,UseModule) :- !, - '$lf'(F,Mod,Call,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,_), - '$lf'(Fs, Mod,Call,InfLevel,Expand,Changed,CompilationMode,Imports,Stream,Encoding,SkipUnixComments,CompMode,Reconsult,UseModule). -'$lf'(_, Mod, _,InfLevel,_,_,CompilationMode,Imports,Stream,_,Reconsult,SkipUnixComments,CompMode,UseModule) :- - nonvar(Stream), !, - '$do_lf'(Mod, Stream, InfLevel,CompilationMode,Imports,SkipUnixComments,CompMode,Reconsult,UseModule). -'$lf'(user, Mod, _,InfLevel,_,_,CompilationMode,Imports,_,_,SkipUnixComments,CompMode,Reconsult,UseModule) :- !, - '$do_lf'(Mod, user_input, InfLevel, CompilationMode,Imports,SkipUnixComments,CompMode,Reconsult,UseModule). -'$lf'(user_input, Mod, _,InfLevel,_,_,CompilationMode,Imports,_,_,SkipUnixComments,CompMode,Reconsult,UseModule) :- !, - '$do_lf'(Mod, user_input, InfLevel, CompilationMode,Imports,SkipUnixComments,CompMode,Reconsult,UseModule). -'$lf'(X, Mod, Call, InfLevel,_,Changed,CompilationMode,Imports,_,Encoding,SkipUnixComments,CompMode,Reconsult,UseModule) :- - '$full_filename'(X, Y, Call), - ( - var(Encoding) - -> - Opts = [] +'$lf'([F|Fs], Mod, Call, TOpts) :- !, + % clean up after each consult + ( '$lf'(F,Mod,Call, TOpts), fail ; + '$lf'(Fs, Mod, Call, TOpts) ). +'$lf'(user, Mod, _, TOpts) :- !, + '$do_lf'(Mod, user_input, user_input, TOpts). +'$lf'(user_input, Mod, _, TOpts) :- !, + '$do_lf'(Mod, user_input, user_input, TOpts). +'$lf'(File, Mod, Call, TOpts) :- + '$lf_opt'(stream, TOpts, Stream), + ( var(Stream) -> + /* need_to_open_file */ + '$lf_opt'(encoding, TOpts, Encoding), + '$full_filename'(File, Y, Call), + ( + var(Encoding) + -> + Opts = [] + ; + Opts = [encoding(Encoding)] + ), + open(Y, read, Stream, Opts) ; - Opts = [encoding(Encoding)] - ), - open(Y, read, Stream, Opts), !, - '$set_changed_lfmode'(Changed), - '$start_lf'(X, Mod, Stream, InfLevel, CompilationMode, Imports, Changed,SkipUnixComments,CompMode,Reconsult,UseModule), + true + ), !, + '$lf_opt'(if, TOpts, If), + '$lf_opt'(imports, TOpts, Imports), + '$start_lf'(If, Mod, Stream, TOpts, File, Imports), close(Stream). -'$lf'(X, _, Call, _, _, _, _, _, _, _, _, _, _, _) :- +'$lf'(X, _, Call, _) :- '$do_error'(permission_error(input,stream,X),Call). -'$set_changed_lfmode'(true) :- !. -'$set_changed_lfmode'(_). - -'$start_lf'(_, Mod, Stream,_ ,_, Imports, not_loaded, _, _, _, _) :- - '$file_loaded'(Stream, Mod, Imports), !. -'$start_lf'(_, Mod, Stream, _, _, Imports, changed, _, _, _, _) :- - '$file_unchanged'(Stream, Mod, Imports), !. -'$start_lf'(_, Mod, Stream, InfLevel, CompilationMode, Imports, _, SkipUnixComments, CompMode, Reconsult, UseModule) :- - '$do_lf'(Mod, Stream, InfLevel, CompilationMode, Imports, SkipUnixComments, CompMode, Reconsult, UseModule). - -'$close_lf'(Silent) :- - nonvar(Silent), !, - set_value('$lf_verbose',Silent). -'$close_lf'(_). +'$start_lf'(not_loaded, Mod, Stream, TOpts, UserFile, Imports) :- + '$file_loaded'(Stream, Mod, Imports), !, + '$lf_opt'('$options', TOpts, Opts), + '$lf_opt'('$location', TOpts, ParentF:Line), + '$loaded'(Stream, UserFile, Mod, ParentF, Line, not_loaded, _File, _Dir, Opts). +'$start_lf'(changed, Mod, Stream, TOpts, UserFile, Imports) :- + '$file_unchanged'(Stream, Mod, Imports), !, + '$lf_opt'('$options', TOpts, Opts), + '$lf_opt'('$location', TOpts, ParentF:Line), + '$loaded'(Stream, UserFile, Mod, ParentF, Line, changed, _File, _Dir, Opts). +'$start_lf'(_, Mod, Stream, TOpts, File, _) :- + '$do_lf'(Mod, Stream, File, TOpts). ensure_loaded(Fs) :- '$load_files'(Fs, [if(changed)],ensure_loaded(Fs)). @@ -232,25 +280,34 @@ use_module(M,F,Is) :- '$use_module'(M,F,Is) :- nonvar(F), '$load_files'(F, [if(not_loaded),imports(Is)], use_module(M,F,Is)). -'$csult'(V, _) :- var(V), !, - '$do_error'(instantiation_error,consult(V)). -'$csult'([], _). -'$csult'([-F|L], M) :- !, '$load_files'(M:F, [],[-M:F]), '$csult'(L, M). -'$csult'([F|L], M) :- '$consult'(F, M), '$csult'(L, M). +'$csult'(Fs, M) :- + '$extract_minus'(Fs, MFs), !, + '$load_files'(M:MFs,[],[M:Fs]). +'$csult'(Fs, M) :- + '$load_files'(M:Fs,[consult(consult)],[M:Fs]). -'$do_lf'(ContextModule, Stream, InfLevel, _, Imports, SkipUnixComments, CompMode, Reconsult, UseModule) :- +'$extract_minus'([], []). +'$extract_minus'([-F|Fs], [F|MFs]) :- + '$extract_minus'(Fs, MFs). + + +'$do_lf'(ContextModule, Stream, UserFile, TOpts) :- %MsgLevel, _, Imports, SkipUnixHeader, CompMode, Reconsult, UseModule) :- + '$msg_level'( TOpts, Verbosity), + % export to process + b_setval('$lf_status', TOpts), '$reset_if'(OldIfLevel), '$into_system_mode'(OldMode), - '$record_loaded'(Stream, ContextModule, Reconsult), - '$current_module'(OldModule,ContextModule), - working_directory(OldD,OldD), - '$ensure_consulting_file'(OldF, Stream), + % take care with [a:f], a is the ContextModule + '$current_module'(SourceModule, ContextModule), + '$lf_opt'(consult, TOpts, Reconsult), + '$lf_opt'('$options', TOpts, Opts), + '$lf_opt'('$location', TOpts, ParentF:Line), + '$loaded'(Stream, UserFile, SourceModule, ParentF, Line, Reconsult, File, Dir, Opts), + working_directory(OldD, Dir), H0 is heapused, '$cputime'(T0,_), - '$file_name'(Stream,File), '$set_current_loop_stream'(OldStream, Stream), - '$ensure_consulting'(Old, false), - '$access_yap_flags'(18,GenerateDebug), - '$consult_infolevel'(InfLevel), + '$swi_current_prolog_flag'(generate_debug_info, GenerateDebug), + '$lf_opt'(compilation_mode, TOpts, CompMode), '$comp_mode'(OldCompMode, CompMode), ( get_value('$syntaxcheckflag',on) -> '$init_style_check'(File) ; true ), recorda('$initialisation','$',_), @@ -265,16 +322,17 @@ use_module(M,F,Is) :- StartMsg = consulting, EndMsg = consulted ), - print_message(InfLevel, loading(StartMsg, File)), - ( SkipUnixComments == skip_unix_comments -> - '$skip_unix_comments'(Stream) + print_message(Verbosity, loading(StartMsg, File)), + '$lf_opt'(skip_unix_header , TOpts, SkipUnixHeader), + ( SkipUnixHeader == true-> + '$skip_unix_header'(Stream) ; true ), '$loop'(Stream,Reconsult), H is heapused-H0, '$cputime'(TF,_), T is TF-T0, - '$current_module'(Mod,OldModule), - print_message(InfLevel, loaded(EndMsg, File, Mod, T, H)), + '$current_module'(Mod, SourceModule), + print_message(Verbosity, loaded(EndMsg, File, Mod, T, H)), '$end_consult', ( Reconsult = reconsult -> @@ -283,22 +341,38 @@ use_module(M,F,Is) :- true ), '$set_current_loop_stream'(_, OldStream), - '$set_yap_flags'(18,GenerateDebug), + '$swi_set_prolog_flag'(generate_debug_info, GenerateDebug), '$comp_mode'(CompMode, OldCompMode), - nb_setval('$consulting',Old), - nb_setval('$consulting_file',OldF), working_directory(_,OldD), % surely, we were in run mode or we would not have included the file! nb_setval('$if_skip_mode',run), % back to include mode! nb_setval('$if_level',OldIfLevel), + '$lf_opt'('$use_module', TOpts, UseModule), '$bind_module'(Mod, UseModule), + '$lf_opt'(imports, TOpts, Imports0), + (Imports0 == all -> true ; Imports = Imports0 ), '$import_to_current_module'(File, ContextModule, Imports), ( LC == 0 -> prompt(_,' |: ') ; true), ( OldMode == off -> '$exit_system_mode' ; true ), '$exec_initialisation_goals', !. +% are we in autoload and autoload_flag is false? +'$msg_level'( TOpts, Verbosity) :- + '$lf_opt'(autoload, TOpts, AutoLoad), + AutoLoad == true, + '$swi_current_prolog_flag'(verbose_autoload, false), !, + Verbosity = silent. +'$msg_level'( _TOpts, Verbosity) :- + '$swi_current_prolog_flag'(verbose, silent), !, + Verbosity = silent. +'$msg_level'( TOpts, Verbosity) :- + '$lf_opt'(silent, TOpts, Silent), + Silent == true, !, + Verbosity = silent. +'$msg_level'( _TOpts, informational). + '$reset_if'(OldIfLevel) :- '$nb_getval'('$if_level', OldIfLevel, fail), !, nb_setval('$if_level',0). @@ -314,14 +388,6 @@ use_module(M,F,Is) :- ( '$nb_getval'('$system_mode', OldMode, fail) -> true ; OldMode = off), ( OldMode == off -> '$enter_system_mode' ; true ). -'$ensure_consulting_file'(OldF, Stream) :- - ( '$nb_getval'('$consulting_file',OldF, fail) -> true ; OldF = []), - '$set_consulting_file'(Stream). - -'$ensure_consulting'(Old, New) :- - ( '$nb_getval'('$consulting',Old, fail) -> true ; Old = false ), - nb_setval('$consulting', New). - '$bind_module'(_, load_files). '$bind_module'(Mod, use_module(Mod)). @@ -330,11 +396,6 @@ use_module(M,F,Is) :- '$use_preds'(Imports, Ps, NM, M). '$import_to_current_module'(_, _, _). -'$consult_infolevel'(InfoLevel) :- nonvar(InfoLevel), !. -'$consult_infolevel'(InfoLevel) :- - get_value('$lf_verbose',InfoLevel), InfoLevel \= [], !. -'$consult_infolevel'(informational). - '$start_reconsulting'(F) :- recorda('$reconsulted','$',_), recorda('$reconsulting',F,_). @@ -451,28 +512,33 @@ initialization(G,OPT) :- '$include'(F, Status), '$include'(Fs, Status). '$include'(X, Status) :- - get_value('$lf_verbose',Verbosity), - '$full_filename'(X,Y,include(X)), - ( '$nb_getval'('$included_file', OY, fail ) -> true ; OY = [] ), - nb_setval('$included_file', Y), + b_getval('$lf_status', TOpts), + '$msg_level'( TOpts, Verbosity), + '$full_filename'(X, Y , ( :- include(X)) ), + '$lf_opt'(stream, TOpts, OldStream), + source_location(F, L), '$current_module'(Mod), - H0 is heapused, '$cputime'(T0,_), - ( open(Y, read, Stream), !, - print_message(Verbosity, loading(including, Y)), - '$loop'(Stream,Status), close(Stream) - ; + ( open(Y, read, Stream) -> + true ; '$do_error'(permission_error(input,stream,Y),include(X)) ), + H0 is heapused, '$cputime'(T0,_), + '$loaded'(Stream, X, Mod, F, L, include, Y, Dir, []), + ( '$nb_getval'('$included_file', OY, fail ) -> true ; OY = [] ), + nb_setval('$included_file', Y), + print_message(Verbosity, loading(including, Y)), + '$loop'(Stream,Status), + close(Stream), H is heapused-H0, '$cputime'(TF,_), T is TF-T0, print_message(Verbosity, loaded(included, Y, Mod, T, H)), nb_setval('$included_file',OY). '$do_startup_reconsult'(X) :- ( '$access_yap_flags'(15, 0) -> - '$system_catch'(load_files(X, [silent(true)]),Module, Error, '$Error'(Error)) + '$system_catch'(load_files(X, [silent(true)]), Module, Error, '$Error'(Error)) ; - set_value('$verbose',off), - '$system_catch'(load_files(X, [silent(true),skip_unix_comments]),Module,_,fail) + '$swi_set_prolog_flag'(verbose, silent), + '$system_catch'(load_files(X, [silent(true),skip_unix_header(true)]),Module,_,fail) ; true ), @@ -480,15 +546,15 @@ initialization(G,OPT) :- ( '$access_yap_flags'(15, 0) -> true ; halt). '$do_startup_reconsult'(_). -'$skip_unix_comments'(Stream) :- +'$skip_unix_header'(Stream) :- peek_code(Stream, 0'#), !, % 35 is ASCII for '# skip(Stream, 10), - '$skip_unix_comments'(Stream). -'$skip_unix_comments'(_). + '$skip_unix_header'(Stream). +'$skip_unix_header'(_). source_file(FileName) :- - recorded('$lf_loaded','$lf_loaded'(FileName,Mod,_,_),_), Mod \= prolog. + recorded('$lf_loaded','$lf_loaded'(FileName, _),_). source_file(Mod:Pred, FileName) :- current_module(Mod), @@ -504,29 +570,24 @@ source_file(Mod:Pred, FileName) :- '$owned_by'(T, Mod, FileName) :- '$owner_file'(T, Mod, FileName). -prolog_load_context(_, _) :- - '$nb_getval'('$consulting_file', [], fail), !, fail. prolog_load_context(directory, DirName) :- - getcwd(DirName). + source_location(F, _), + file_directory_name(F, DirName). prolog_load_context(file, FileName) :- - ( '$nb_getval'('$included_file', IncFileName, fail ) -> true ; IncFileName = [] ), - ( IncFileName = [] -> - '$nb_getval'('$consulting_file', FileName, fail), - FileName \= [] - ; - FileName = IncFileName - ). + source_location(FileName, _). prolog_load_context(module, X) :- + '$nb_getval'('$consulting_file', _, fail), '$current_module'(X). -prolog_load_context(source, FileName) :- - nb_getval('$consulting_file',FileName). +prolog_load_context(source, F0) :- + source_location(F0, _) /*, + '$input_context'(Context), + '$top_file'(Context, F0, F) */. prolog_load_context(stream, Stream) :- + '$nb_setval'('$consulting_file', _, fail), '$current_loop_stream'(Stream). % return this term for SWI compatibility. prolog_load_context(term_position, '$stream_position'(0,Line,0,0,0)) :- - '$current_loop_stream'(Stream), - stream_property(Stream, position(Position)), - stream_position_data(line_count, Position, Line). + source_location(_, Line). % if the file exports a module, then we can @@ -537,11 +598,11 @@ prolog_load_context(term_position, '$stream_position'(0,Line,0,0,0)) :- '$ensure_file_loaded'(F, M, Imports) :- recorded('$module','$module'(F1,NM,P),_), - recorded('$lf_loaded','$lf_loaded'(F1,_,_,_),_), + recorded('$lf_loaded','$lf_loaded'(F1,_),_), same_file(F1,F), !, '$use_preds'(Imports,P, NM, M). -'$ensure_file_loaded'(F, M, _) :- - recorded('$lf_loaded','$lf_loaded'(F1,M,_,_),_), +'$ensure_file_loaded'(F, _M, _) :- + recorded('$lf_loaded','$lf_loaded'(F1,_),_), same_file(F1,F), !. @@ -553,12 +614,12 @@ prolog_load_context(term_position, '$stream_position'(0,Line,0,0,0)) :- '$ensure_file_unchanged'(F, M, Imports) :- recorded('$module','$module'(F1,NM,P),_), - recorded('$lf_loaded','$lf_loaded'(F1,_,Age,_),R), + recorded('$lf_loaded','$lf_loaded'(F1,Age),R), same_file(F1,F), !, '$file_is_unchanged'(F, R, Age), '$use_preds'(Imports, P, NM, M). '$ensure_file_unchanged'(F, M, _) :- - recorded('$lf_loaded','$lf_loaded'(F1,M,Age,_),R), + recorded('$lf_loaded','$lf_loaded'(F1,Age),R), same_file(F1,F), !, '$file_is_unchanged'(F, R, Age). @@ -598,7 +659,7 @@ remove_from_path(New) :- '$check_path'(New,Path), % add_multifile_predicate when we start consult '$add_multifile'(Name,Arity,Module) :- - nb_getval('$consulting_file',File), + source_location(File,_), '$add_multifile'(File,Name,Arity,Module). '$add_multifile'(File,Name,Arity,Module) :- @@ -626,31 +687,17 @@ remove_from_path(New) :- '$check_path'(New,Path), fail. '$remove_multifile_clauses'(_). -'$set_consulting_file'(user) :- !, - nb_setval('$consulting_file',user_input). -'$set_consulting_file'(user_input) :- !, - nb_setval('$consulting_file',user_input). -'$set_consulting_file'(Stream) :- - '$file_name'(Stream,F), - nb_setval('$consulting_file',F), - '$set_consulting_dir'(F). -% -% Use directory where file exists -% -'$set_consulting_dir'(F) :- - file_directory_name(F, Dir), - working_directory(_, Dir). - -'$record_loaded'(Stream, M, Reconsult) :- - Stream \= user, - Stream \= user_input, - '$file_name'(Stream,F), - ( recorded('$lf_loaded','$lf_loaded'(F,M,_,_),R), erase(R), fail ; true ), - time_file64(F,Age), - recorda('$lf_loaded','$lf_loaded'(F,M,Age,Reconsult),_), - fail. -'$record_loaded'(_, _, _). +'$loaded'(Stream, UserFile, M, OldF, Line, Reconsult, F, Dir, Opts) :- + '$file_name'(Stream, F0), + ( F0 == user_input, nonvar(File) -> UserFile = F ; F = F0 ), + ( F == user_input -> working_directory(Dir,Dir) ; file_directory_name(F, Dir) ), + nb_setval('$consulting_file', F ), + ( Reconsult \== consult, Reconsult \== not_loaded, Reconsult \== changed, recorded('$lf_loaded','$lf_loaded'(F, _),R), erase(R), fail ; var(Reconsult) -> Reconsult = consult ; true ), + ( Reconsult \== consult, recorded('$lf_loaded','$lf_loaded'(F, _, _, _, _, _, _),R), erase(R), fail ; var(Reconsult) -> Reconsult = consult ; true ), + ( F == user_input -> Age = 0 ; time_file64(F, Age) ), + recorda('$lf_loaded','$lf_loaded'( F, Age), _), + recorda('$lf_loaded','$lf_loaded'( F, M, Reconsult, UserFile, OldF, Line, Opts), _). '$set_encoding'(Encoding) :- '$current_loop_stream'(Stream), @@ -1031,7 +1078,7 @@ absolute_file_name(File,Opts,TrueFileName) :- '$fetch_comp_status'(compact). make :- - recorded('$lf_loaded','$lf_loaded'(F1,M,_,reconsult),_), + recorded('$lf_loaded','$lf_loaded'(F1,M,reconsult,_,_,_,_),_), '$load_files'(F1, [if(changed)],make), fail. make. @@ -1040,7 +1087,7 @@ make_library_index(_Directory). '$file_name'(Stream,F) :- stream_property(Stream, file_name(F)), !. -'$file_name'(user_input,user_output). +'$file_name'(user_input,user_input). '$file_name'(user_output,user_ouput). '$file_name'(user_error,user_error). @@ -1073,3 +1120,44 @@ make_library_index(_Directory). exists_source(File) :- '$full_filename'(File, AbsFile, exists_source(File)). +% reload_file(File) :- +% ' $source_base_name'(File, Compile), +% findall(M-Opts, +% source_file_property(File, load_context(M, _, Opts)), +% Modules), +% ( Modules = [First-OptsFirst|Rest] +% -> Extra = [ silent(false), +% register(false) +% ], +% merge_options([if(true)|Extra], OptsFirst, OFirst), +% % debug(make, 'Make: First load ~q', [load_files(First:Compile, OFirst)]), +% load_files(First:Compile, OFirst), +% forall(member(Context-Opts, Rest), +% ( merge_options([if(not_loaded)|Extra], Opts, O), +% % debug(make, 'Make: re-import: ~q', +% % [load_files(Context:Compile, O)]), +% load_files(Context:Compile, O) +% )) +% ; load_files(user:Compile) +% ). + +% ' $source_base_name'(File, Compile) :- +% file_name_extension(Compile, Ext, File), +% user:prolog_file_type(Ext, prolog), !. +% ' $source_base_name'(File, File). + +source_file_property( File0, Prop) :- + ( nonvar(File0) -> absolute_file_name(File0,File) ; File = File0 ), + '$source_file_property'( File, Prop). + +'$source_file_property'( OldF, includes(F, Age)) :- + recorded('$lf_loaded','$lf_loaded'( F, _M, include, _File, OldF, _Line, _), _), + recorded('$lf_loaded','$lf_loaded'( F, Age), _). +'$source_file_property'( F, included_in(OldF, Line)) :- + recorded('$lf_loaded','$lf_loaded'( F, _M, include, _File, OldF, Line, _), _). +'$source_file_property'( F, load_context(OldF, Line, Options)) :- + recorded('$lf_loaded','$lf_loaded'( F, _M, V, _File, OldF, Line, Options), _), V \== include. +'$source_file_property'( F, modified(Age)) :- + recorded('$lf_loaded','$lf_loaded'( F, Age), _). +'$source_file_property'( F, module(M)) :- + recorded('$module','$module'(F,M,_),_). diff --git a/pl/dialect.yap b/pl/dialect.yap index bb1304c8a..89f9736dc 100644 --- a/pl/dialect.yap +++ b/pl/dialect.yap @@ -20,14 +20,14 @@ prolog:'$expects_dialect'(Dialect) :- check_dialect(Dialect) :- var(Dialect),!, - '$do_error'(instantiation_error,(:- dialect(Dialect))). + '$do_error'(instantiation_error,(:- expects_dialect(Dialect))). check_dialect(Dialect) :- \+ atom(Dialect),!, - '$do_error'(type_error(Dialect),(:- dialect(Dialect))). + '$do_error'(type_error(Dialect),(:- expects_dialect(Dialect))). check_dialect(Dialect) :- exists_source(library(dialect/Dialect)), !. check_dialect(Dialect) :- - '$do_error'(domain_error(dialect,Dialect),(:- dialect(Dialect))). + '$do_error'(domain_error(dialect,Dialect),(:- expects_dialect(Dialect))). %% exists_source(+Source) is semidet. % diff --git a/pl/flags.yap b/pl/flags.yap index 45baed920..6d3554f06 100755 --- a/pl/flags.yap +++ b/pl/flags.yap @@ -117,34 +117,6 @@ yap_flag(debug_on_error,X) :- -yap_flag(generate_debug_info,X) :- - var(X), !, - '$access_yap_flags'(18,Options), - (Options =:= 0 -> X = false ; X = true ). -yap_flag(generate_debug_info,true) :- !, - '$enable_restore_flag_info'(generate_debug_info), - '$set_yap_flags'(18,1), - source. -yap_flag(generate_debug_info,false) :- !, - '$enable_restore_flag_info'(generate_debug_info), - '$set_yap_flags'(18,0), - no_source. -yap_flag(generate_debug_info,X) :- - '$do_error'(domain_error(flag_value,generate_debug_info+X),yap_flag(generate_debug_info,X)). - -'$enable_restore_flag_info'(_) :- - nb_getval('$consulting_file',[]), !. -'$enable_restore_flag_info'(_) :- - nb_getval('$initialization_goals',on), !. -'$enable_restore_flag_info'(Flag) :- - '$show_consult_level'(Level1), - yap_flag(Flag, Info), - % it will be done after we leave the current consult level. - Level is Level1-1, - recorda('$initialisation',do(Level,yap_flag(Flag,Info)),_), - fail. -'$enable_restore_flag_info'(_). - % % show state of $ % @@ -254,37 +226,7 @@ yap_flag(tabling_mode,Options) :- '$transl_to_yap_flag_tabling_mode'(6,global_trie). yap_flag(informational_messages,X) :- var(X), !, - get_value('$verbose',X). -yap_flag(informational_messages,on) :- !, - set_value('$verbose',on), - '$set_yap_flags'(22,0). -yap_flag(informational_messages,off) :- !, - set_value('$verbose',off), - '$set_yap_flags'(22,1). -yap_flag(informational_messages,X) :- - '$do_error'(domain_error(flag_value,informational_messages+X),yap_flag(informational_messages,X)). - -yap_flag(verbose,X) :- var(X), !, - get_value('$verbose',X0), - (X0 == on -> X = normal ; X = silent). -yap_flag(verbose,normal) :- !, - set_value('$verbose',on), - '$set_yap_flags'(22,0). -yap_flag(verbose,silent) :- !, - set_value('$verbose',off), - '$set_yap_flags'(22,1). -yap_flag(verbose,X) :- - '$do_error'(domain_error(flag_value,verbose+X),yap_flag(verbose,X)). - -yap_flag(integer_rounding_function,X) :- - var(X), !, - '$access_yap_flags'(2, X1), - '$transl_to_rounding_function'(X1,X). -yap_flag(integer_rounding_function,X) :- - (X = down; X = toward_zero), !, - '$do_error'(permission_error(modify,flag,integer_rounding_function),yap_flag(integer_rounding_function,X)). -yap_flag(integer_rounding_function,X) :- - '$do_error'(domain_error(flag_value,integer_rounding_function+X),yap_flag(integer_rounding_function,X)). + yap_flag(verbose, X). yap_flag(version,X) :- var(X), !, @@ -404,21 +346,6 @@ yap_flag(language,X) :- yap_flag(language,X) :- '$do_error'(domain_error(flag_value,language+X),yap_flag(language,X)). -yap_flag(debug,X) :- - var(X), !, - '$debug_on'(Val), - (Val == true - -> - X = on - ; - X = true - ). -yap_flag(debug,X) :- - '$transl_to_on_off'(_,X), !, - (X = on -> debug ; nodebug). -yap_flag(debug,X) :- - '$do_error'(domain_error(flag_value,debug+X),yap_flag(debug,X)). - yap_flag(discontiguous_warnings,X) :- var(X), !, '$syntax_check_discontiguous'(on,_). @@ -492,6 +419,8 @@ yap_flag(system_options,X) :- '$swi_current_prolog_flag'(readline, true). '$system_options'(tabling) :- \+ '$undefined'('$c_table'(_,_,_), prolog). +'$system_options'(threads) :- + \+ '$undefined'('$thread_join'(_), prolog). '$system_options'(wam_profiler) :- \+ '$undefined'(reset_op_counters, prolog). @@ -640,28 +569,6 @@ yap_flag(toplevel_print_options,Opts) :- yap_flag(host_type,X) :- '$host_type'(X). -yap_flag(verbose_load,X) :- - var(X), !, - ( get_value('$lf_verbose',silent) -> X = false ; X = true ). -yap_flag(verbose_load,true) :- !, - set_value('$lf_verbose',informational). -yap_flag(verbose_load,false) :- !, - set_value('$lf_verbose',silent), - '$set_yap_flags'(7,1). -yap_flag(verbose_load,X) :- - '$do_error'(domain_error(flag_value,verbose_load+X),yap_flag(verbose_load,X)). - -yap_flag(verbose_auto_load,X) :- - var(X), !, - ( get_value('$verbose_auto_load',true) -> X = true ; X = false ). -yap_flag(verbose_auto_load,true) :- !, - set_value('$verbose_auto_load',true). -yap_flag(verbose_auto_load,false) :- !, - set_value('$verbose_auto_load',false), - '$set_yap_flags'(7,1). -yap_flag(verbose_auto_load,X) :- - '$do_error'(domain_error(flag_value,verbose_auto_load+X),yap_flag(verbose_auto_load,X)). - yap_flag(float_format,X) :- var(X), !, '$float_format'(X). @@ -695,7 +602,6 @@ yap_flag(max_threads,X) :- '$yap_system_flag'(char_conversion). '$yap_system_flag'(character_escapes). '$yap_system_flag'(chr_toplevel_show_store). -'$yap_system_flag'(debug). '$yap_system_flag'(debug_on_error ). '$yap_system_flag'(debugger_print_options). '$yap_system_flag'(discontiguous_warnings). @@ -712,14 +618,12 @@ yap_flag(max_threads,X) :- '$yap_system_flag'(gc ). '$yap_system_flag'(gc_margin ). '$yap_system_flag'(gc_trace ). -'$yap_system_flag'(generate_debug_info ). % V = hide ; '$yap_system_flag'(host_type ). '$yap_system_flag'(index). '$yap_system_flag'(index_sub_term_search_depth). '$yap_system_flag'(tabling_mode). '$yap_system_flag'(informational_messages). -'$yap_system_flag'(integer_rounding_function). '$yap_system_flag'(language). '$yap_system_flag'(max_workers). '$yap_system_flag'(max_threads). @@ -750,9 +654,6 @@ yap_flag(max_threads,X) :- '$yap_system_flag'(user_input). '$yap_system_flag'(user_output). '$yap_system_flag'(variable_names_may_end_with_quotes). -'$yap_system_flag'(verbose). -'$yap_system_flag'(verbose_load). -'$yap_system_flag'(verbose_auto_load). '$yap_system_flag'(version). '$yap_system_flag'(write_strings). @@ -861,7 +762,7 @@ set_prolog_flag(F,V) :- \+ atom(F), !, '$do_error'(type_error(atom,F),set_prolog_flag(F,V)). set_prolog_flag(F, Val) :- - '$swi_current_prolog_flag'(F, _), + '$swi_current_prolog_flag'(F, _), !, '$swi_set_prolog_flag'(F, Val). set_prolog_flag(F,V) :- '$yap_system_flag'(F), !, diff --git a/pl/init.yap b/pl/init.yap index bd1db782c..a8b30bcfe 100755 --- a/pl/init.yap +++ b/pl/init.yap @@ -123,9 +123,6 @@ otherwise. version(yap,[6,3]). -system_mode(verbose,on) :- set_value('$verbose',on). -system_mode(verbose,off) :- set_value('$verbose',off). - :- op(1150,fx,(mode)). :- dynamic 'extensions_to_present_answer'/1. @@ -171,7 +168,8 @@ yap_hacks:cut_by(CP) :- '$$cut_by'(CP). % % cleanup ensure loaded and recover some data-base space. % -:- ( recorded('$loaded','$loaded'(_,_,_),R), erase(R), fail ; true ). +:- ( recorded('$lf_loaded',_,R), erase(R), fail ; true ). +:- ( recorded('$module',_,R), erase(R), fail ; true ). :- set_value('$user_module',user), '$protect'. @@ -184,8 +182,6 @@ yap_hacks:cut_by(CP) :- '$$cut_by'(CP). % :- yap_flag(gc_trace,verbose). -:- system_mode(verbose,on). - :- multifile prolog:message/3. :- dynamic prolog:message/3. diff --git a/pl/modules.yap b/pl/modules.yap index 4e785dec0..4afb7069a 100644 --- a/pl/modules.yap +++ b/pl/modules.yap @@ -16,10 +16,6 @@ *************************************************************************/ % module handling -'$consulting_file_name'(Stream,F) :- - '$file_name'(Stream, F). - - '$module'(_,N,P) :- '$module_dec'(N,P). @@ -77,7 +73,7 @@ module(N) :- '$module_dec'(N,P) :- '$current_module'(_,N), - nb_getval('$consulting_file',F), + source_location(F, _), '$add_module_on_file'(N, F, P). '$add_module_on_file'(Mod, F, Exports) :- @@ -744,7 +740,7 @@ export_list(Module, List) :- '$reexport'(ModuleSource, Spec, Module) :- - nb_getval('$consulting_file',TopFile), + source_location(CurrentFile, _), ( Spec == all -> @@ -753,12 +749,11 @@ export_list(Module, List) :- Goal = reexport(ModuleSource,Spec) ), absolute_file_name(ModuleSource, File, [access(read),file_type(prolog),file_errors(fail),solutions(first),expand(true)]), - '$load_files'(File, [if(not_loaded),imports([])], Goal), + '$load_files'(File, [if(not_loaded),silent(true), imports(Spec)], Goal), recorded('$module', '$module'(FullFile, Mod, Exports),_), atom_concat(File, _, FullFile), !, '$convert_for_reexport'(Spec, Exports, Tab, MyExports, Goal), '$add_to_imports'(Tab, Module, Mod), - recorded('$lf_loaded','$lf_loaded'(TopFile,TopModule,_,_),_), recorded('$module', '$module'(CurrentFile, Module, ModExports), Ref), erase(Ref), lists:append(ModExports, MyExports, AllExports), diff --git a/pl/preds.yap b/pl/preds.yap index d4642a1b4..92f8794ae 100644 --- a/pl/preds.yap +++ b/pl/preds.yap @@ -179,7 +179,7 @@ assertz_static(C) :- '$head_and_body'(C0, H0, B0), '$recordap'(Mod:Head,(H0 :- B0),R,CR), ( '$is_multifile'(Head, Mod) -> - nb_getval('$consulting_file',F), + sourcee_location(F, _), functor(H0, Na, Ar), recorda('$multifile_dynamic'(_,_,_), '$mf'(Na,Ar,Mod,F,R), _) ; @@ -198,7 +198,7 @@ assertz_static(C) :- '$head_and_body'(C0, H0, B0), '$recordzp'(Mod:Head,(H0 :- B0),R,CR), ( '$is_multifile'(H0, Mod) -> - get_value('$consulting_file',F), + source_location(F, _), functor(H0, Na, Ar), recordz('$multifile_dynamic'(_,_,_), '$mf'(Na,Ar,Mod,F,R), _) ; @@ -234,7 +234,7 @@ assertz_static(C) :- '$remove_all_d_clauses'(_,_). '$erase_all_mf_dynamic'(Na,A,M) :- - get_value('$consulting_file',F), + source_location( F , _), recorded('$multifile_dynamic'(_,_,_), '$mf'(Na,A,M,F,R), R1), erase(R1), erase(R),