2015-07-21 7 views
0

Я в настоящее время хочу установить OpenHAB в среде OpenWrt (пока что он находится на виртуальной машине с архитектурой x86), и для этого требуется время выполнения Java, по крайней мере, с версией 1.6.Установка JamVM 2.0 на OpenWrt: как изменить Makefile, чтобы он использовал библиотеку OpenJDK?

Итак, я использовал кросс-компилятор SDK OpenWrt 14.07 (Breaking Barrier), а его компактный Java-инструмент JamVM. Для версии 1.x JamVM использует путь класса GNU, который обеспечивает Java 1.5, но с JamVM 2.0 эта программа позволяет использовать OpenJDK, которые предоставляют Java 1.6 до 1.9. Все, что я хочу, это создать пакет JamVM, который включает эту библиотеку OpenJDK, но я не ознакомлен с конфигурациями Makefile. Вот текущий Makefile с Путь к классам библиотеки GNU выставиться:


# 
# Copyright (C) 2006-2015 OpenWrt.org 
# 
# This is free software, licensed under the GNU General Public License v2. 
# See /LICENSE for more information. 
# 

include $(TOPDIR)/rules.mk 

PKG_NAME:=jamvm 
PKG_VERSION:=2.0.0 
PKG_RELEASE:=1 
PKG_LICENSE:=GPL-2.0+ 
PKG_MAINTAINER:=Dana H. Myers <[email protected]> 

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
PKG_SOURCE_URL:[email protected]/$(PKG_NAME) 
PKG_MD5SUM:=a6e3321ef4b3cfb4afc20bd75452e11e 

PKG_USE_MIPS16:=0 

PKG_FIXUP:=autoreconf 
PKG_INSTALL:=1 

include $(INCLUDE_DIR)/package.mk 

define Package/jamvm 
    SUBMENU:=Java 
    SECTION:=lang 
    CATEGORY:=Languages 
    TITLE:=A compact Java Virtual Machine 
    URL:=http://sourceforge.net/projects/jamvm 
    DEPENDS:=+zlib +libpthread +librt +classpath @!avr32 
endef 

define Package/jamvm/description 
JamVM is a new Java Virtual Machine which conforms to the JVM 
specification version (blue book). In comparison to most other VM's (free 
and commercial) it is extremely small.However, unlike other small VMs 
(e.g. KVM) it is designed to support the full specification, and includes 
support for object finalisation, Soft/Weak/Phantom References, the Java 
Native Interface (JNI) and the Reflection API. 
endef 

CONFIGURE_ARGS += \ 
    --with-java-runtime-library=gnuclasspath \ 
    --with-classpath-install-dir=/usr \ 
    --disable-int-inlining \ 
    --disable-shared \ 
    --without-pic 

MAKE_FLAGS += \ 
    GLIBJ_ZIP=$(STAGING_DIR)/usr/share/classpath/glibj.zip 

define Package/jamvm/install 
    $(INSTALL_DIR) $(1)/usr 
    $(CP) \ 
     $(PKG_INSTALL_DIR)/usr/bin \ 
     $(PKG_INSTALL_DIR)/usr/share \ 
     $(1)/usr/ 
endef 

define Build/InstallDev 
    $(CP) $(PKG_INSTALL_DIR)/* $(1)/ 
endef 

$(eval $(call BuildPackage,jamvm)) 

Я знаю, что в CONFIGURE_ARGS, я могу изменить линию

--with-java-runtime-library=gnuclasspath \ 

этому

--with-java-runtime-library=openjdk7 \ 

но с этим единственным изменением, мой пакет ge не может компилироваться, когда я делаю

make /packages/lang/jamvm 

Есть ли кто-то, кто знает, что делать?

Благодарим всех

ответ

0

Не все так просто. Есть куча патчей от Waldemar Brodkorb в списке рассылки OpenWRT для OpenJDK 7 и некоторых старых для OpenJDK 6. Но, на мой взгляд, они позволят вам создать версию x86.

Я думаю, что легче удалить версии Java-версии из пакетов OpenHAB, чем перекрестное здание OpenJDK с JamVM - не шутка!