From 8d3a6c5b20526e55cda3e5b1035b3a3be8438e10 Mon Sep 17 00:00:00 2001 From: vsc Date: Wed, 24 Jan 2007 17:28:28 +0000 Subject: [PATCH] make java compilation see libraries git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1784 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- C/dbase.c | 2 +- C/globals.c | 8 ++++---- LGPL/JPL/jpl.yap | 21 ++++++++++++--------- configure | 18 ++++++++++++++---- configure.in | 17 ++++++++++++++--- 5 files changed, 45 insertions(+), 21 deletions(-) diff --git a/C/dbase.c b/C/dbase.c index 048795686..83d6c6916 100644 --- a/C/dbase.c +++ b/C/dbase.c @@ -3690,7 +3690,7 @@ index_sz(LogUpdIndex *x) if (x->ClFlags & DirtyMask) fprintf(stderr,"Dirty -- %p(%p)\n",ap,x); if (count > 200) - fprintf(stderr,"%ld/%ld/%ld -- %p(%p)\n",count,count0,dead,ap,x); + fprintf(stderr,"%uld/%uld/%uld -- %p(%p)\n",(unsigned long int)count,(unsigned long int)count0,(unsigned long int)dead,ap,x); } x = x->ChildIndex; while (x != NULL) { diff --git a/C/globals.c b/C/globals.c index 7c474152b..2170140b3 100644 --- a/C/globals.c +++ b/C/globals.c @@ -1241,7 +1241,7 @@ p_nb_queue_enqueue(void) gsiz = 1024; } ARG3 = to; - fprintf(stderr,"growing %ld cells\n",gsiz); + fprintf(stderr,"growing %ld cells\n",(unsigned long int)gsiz); if (!GrowArena(arena, ArenaLimit(arena), old_sz, gsiz, 3)) { Yap_Error(OUT_OF_STACK_ERROR, arena, Yap_ErrorMessage); return 0L; @@ -2044,18 +2044,18 @@ p_nb_beam_check(void) if (Yap_compare_terms(pt[2*((i+1)/2-1)],pt[2*i]) > 0) { Yap_DebugPlWrite(pt[2*((i+1)/2-1)]); fprintf(stderr,"\n"); Yap_DebugPlWrite(pt[2*i]); fprintf(stderr,"\n"); - fprintf(stderr,"Error at %ld\n",i); + fprintf(stderr,"Error at %ld\n",(unsigned long int)i); return FALSE; } back = IntegerOfTerm(pt[2*i+1]); if (IntegerOfTerm(pt2[3*back+1]) != i) { - fprintf(stderr,"Link error at %ld\n",i); + fprintf(stderr,"Link error at %ld\n",(unsigned long int)i); return FALSE; } } for (i = 1; i < qsz; i++) { if (Yap_compare_terms(pt2[3*((i+1)/2-1)],pt2[3*i]) < 0) { - fprintf(stderr,"Error at sec %ld\n",i); + fprintf(stderr,"Error at sec %ld\n",(unsigned long int)i); Yap_DebugPlWrite(pt2[3*((i+1)/2-1)]); fprintf(stderr,"\n"); Yap_DebugPlWrite(pt2[3*i]); fprintf(stderr,"\n"); return FALSE; diff --git a/LGPL/JPL/jpl.yap b/LGPL/JPL/jpl.yap index fcb0c0642..4c20d0bdb 100644 --- a/LGPL/JPL/jpl.yap +++ b/LGPL/JPL/jpl.yap @@ -1,4 +1,4 @@ -/* $Id: jpl.yap,v 1.6 2006-05-19 13:48:11 vsc Exp $ +/* $Id: jpl.yap,v 1.7 2007-01-24 17:28:28 vsc Exp $ Part of JPL -- SWI-Prolog/Java interface @@ -4273,7 +4273,7 @@ load_jpl_lib :- jpl_java_home(JavaHome), fetch_arch(Arch), gen_jvm_lib(JavaHome,Arch,JPL,JLibs), - load_foreign_files(JPL, JLibs, jpl_install), !. + load_foreign_files(JPL, JLibs, jpl_install), write(ok),nl, !. fetch_arch(Arch) :- current_prolog_flag(host_type,Name), @@ -4289,16 +4289,19 @@ gen_arch([0'/,0'u,0's,0'r|_],mac). gen_jvm_lib(_,mac,[jpl],[]) :- !. gen_jvm_lib(JavaHome,Arch,[jpl], [JLib]) :- - atom_concat([JavaHome,'/jre/lib/',Arch,'/client/libjvm.so'],JLib), + get_jvm_lib(JavaHome, Arch, 'libjvm.so', JLib). + +get_jvm_lib(JavaHome, Arch, Lib, JLib) :- + atom_concat([JavaHome,'/jre/lib/',Arch,'/client/',Lib],JLib), exists(JLib), !. -gen_jvm_lib(JavaHome,Arch,[jpl], [JLib]) :- - atom_concat([JavaHome,'/jre/lib/',Arch,'/server/libjvm.so'],JLib), +get_jvm_lib(JavaHome,Arch, Lib, JLib) :- + atom_concat([JavaHome,'/jre/lib/',Arch,'/server/',Lib],JLib), exists(JLib), !. -gen_jvm_lib(JavaHome,Arch,[jpl], [JLib]) :- - atom_concat([JavaHome,'/jre/lib/',Arch,'/classic/libjvm.so'],JLib), +get_jvm_lib(JavaHome,Arch, Lib, JLib) :- + atom_concat([JavaHome,'/jre/lib/',Arch,'/classic/',Lib],JLib), exists(JLib), !. -gen_jvm_lib(JavaHome,Arch,[jpl], [JLib]) :- - atom_concat([JavaHome,'/jre/lib/',Arch,'/libjvm.so'],JLib), +get_jvm_lib(JavaHome, Arch, Lib, JLib) :- + atom_concat([JavaHome,'/jre/lib/',Arch,'/',Lib],JLib), exists(JLib), !. diff --git a/configure b/configure index a61328c2c..6d296f54a 100755 --- a/configure +++ b/configure @@ -3294,7 +3294,7 @@ test -n "$target_alias" && program_prefix=${target_alias}- cat >>confdefs.h <<_ACEOF -#define HOST_ALIAS "${host}" +#define HOST_ALIAS "${target}" _ACEOF @@ -3330,8 +3330,7 @@ then ;; sparc*) case "$target_os" in - *solaris2-9*) - CFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFLAGS" + *solaris2-9*) CFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFLAGS" ;; esac ;; @@ -7656,7 +7655,18 @@ then DYNLIB_LD="gcc -dynamiclib" ;; *) - LDFLAGS="$LDFLAGS -Wl,-R,$prefix/lib" + case "$target_cpu" in + i*86*) + JAVA_TARGET=i386 + ;; + x86*) + JAVA_TARGET=amd64 + ;; + sparc*) + JAVA_TARGET=sparc + ;; + esac + LDFLAGS="$LDFLAGS -Wl,-R,$prefix/lib -Wl,-R,$JAVA_HOME/jre/lib/$JAVA_TARGET" DYNYAPLIB=libYap"$SHLIB_SUFFIX" YAPLIB="$DYNYAPLIB" DYNLIB_LD="$SHLIB_LD" diff --git a/configure.in b/configure.in index ce4de9727..16b3a5bcb 100644 --- a/configure.in +++ b/configure.in @@ -240,7 +240,7 @@ eval "AC_DEFINE(DefTrailSpace,($yap_cv_trail_space))" AC_CANONICAL_SYSTEM -AC_DEFINE_UNQUOTED(HOST_ALIAS,"${host}") +AC_DEFINE_UNQUOTED(HOST_ALIAS,"${target}") dnl condor does not like dynamic linking on Linux, DEC, and HP-UX platforms. if test "$use_condor" = yes @@ -274,7 +274,7 @@ then ;; sparc*) case "$target_os" in - *solaris[2-9]*) + *solaris[2-9]*) dnl CFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFLAGS" ;; esac @@ -787,7 +787,18 @@ then DYNLIB_LD="gcc -dynamiclib" ;; *) - LDFLAGS="$LDFLAGS -Wl,-R,$prefix/lib" + case "$target_cpu" in + i*86*) + JAVA_TARGET=i386 + ;; + x86*) + JAVA_TARGET=amd64 + ;; + sparc*) + JAVA_TARGET=sparc + ;; + esac + LDFLAGS="$LDFLAGS -Wl,-R,$prefix/lib -Wl,-R,$JAVA_HOME/jre/lib/$JAVA_TARGET" DYNYAPLIB=libYap"$SHLIB_SUFFIX" YAPLIB="$DYNYAPLIB" DYNLIB_LD="$SHLIB_LD"