From 41171be5a6473eeb5de42e3f2c0e20c854d1481a Mon Sep 17 00:00:00 2001 From: hallgren Date: Mon, 25 Apr 2016 14:21:04 +0000 Subject: [PATCH] Fix a problem building the Java binding when creating binary packages Pass -I and -L flags to gcc so that the C run-time system can be found. Also added a line in src/runtime/java/Makefile to install jpgf.jar. --- bin/build-binary-dist.sh | 3 +-- debian/rules | 3 +-- src/runtime/java/Makefile | 6 ++++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/build-binary-dist.sh b/bin/build-binary-dist.sh index 19c30b1ec..30acadffa 100644 --- a/bin/build-binary-dist.sh +++ b/bin/build-binary-dist.sh @@ -45,9 +45,8 @@ fi if which >/dev/null javac && which >/dev/null jar ; then pushd src/runtime/java rm -f libjpgf.la # In case it contains the wrong INSTALL_PATH - make INSTALL_PATH="$prefix/lib" + make CFLAGS="-I$extrainclude -L$extralib" INSTALL_PATH="$prefix/lib" make INSTALL_PATH="$destdir$prefix/lib" install - cp jpgf.jar "$destdir$prefix/lib" # missing from make install... popd else echo "Java SDK is not installed, so the Java binding will not be included" diff --git a/debian/rules b/debian/rules index bf2d65372..366d923e5 100644 --- a/debian/rules +++ b/debian/rules @@ -15,7 +15,7 @@ override_dh_shlibdeps: override_dh_auto_build: cd src/runtime/python && EXTRA_INCLUDE_DIRS=$(CURDIR)/src/runtime/c EXTRA_LIB_DIRS=$(CURDIR)/src/runtime/c/.libs python setup.py build - cd src/runtime/java && make INSTALL_PATH=/usr/lib + cd src/runtime/java && make CFLAGS="-I$(CURDIR)/src/runtime/c -L$(CURDIR)/src/runtime/c/.libs" INSTALL_PATH=/usr/lib echo LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/src/runtime/c/.libs LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/src/runtime/c/.libs cabal build @@ -37,7 +37,6 @@ override_dh_auto_install: cd src/runtime/c && bash setup.sh copy prefix=$(CURDIR)/debian/gf/usr cd src/runtime/python && python setup.py install --prefix=$(CURDIR)/debian/gf/usr cd src/runtime/java && make INSTALL_PATH=$(CURDIR)/debian/gf/usr/lib install - cp src/runtime/java/jpgf.jar $(CURDIR)/debian/gf/usr/lib D="`find debian/gf -name site-packages`" && [ -n "$$D" ] && cd $$D && cd .. && mv site-packages dist-packages override_dh_auto_test: diff --git a/src/runtime/java/Makefile b/src/runtime/java/Makefile index 8310a5720..6bf0d1495 100644 --- a/src/runtime/java/Makefile +++ b/src/runtime/java/Makefile @@ -12,10 +12,10 @@ LIBTOOL = $(if $(shell command -v glibtool 2>/dev/null), glibtool --tag=CC, libt all: libjpgf.la jpgf.jar libjpgf.la: $(patsubst %.c, %.lo, $(C_SOURCES)) - $(LIBTOOL) --mode=link gcc -g -O -o libjpgf.la -shared $^ -rpath $(INSTALL_PATH) -lgu -lpgf -lsg + $(LIBTOOL) --mode=link gcc $(CFLAGS) -g -O -o libjpgf.la -shared $^ -rpath $(INSTALL_PATH) -lgu -lpgf -lsg %.lo : %.c - $(LIBTOOL) --mode=compile gcc -g -O -c -I$(JNI_PATH) -std=c99 -shared $< -o $@ + $(LIBTOOL) --mode=compile gcc $(CFLAGS) -g -O -c -I$(JNI_PATH) -std=c99 -shared $< -o $@ jpgf.jar: $(patsubst %.java, %.class, $(JAVA_SOURCES)) jar -cf $@ org/grammaticalframework/pgf/*.class org/grammaticalframework/sg/*.class @@ -25,6 +25,8 @@ jpgf.jar: $(patsubst %.java, %.class, $(JAVA_SOURCES)) install: libjpgf.la jpgf.jar $(LIBTOOL) --mode=install install -s libjpgf.la $(INSTALL_PATH) + install jpgf.jar $(INSTALL_PATH) + doc: javadoc org.grammaticalframework.pgf org.grammaticalframework.sg -d java-api